<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TTMath: ttmath::Parser&lt; ValueType &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="ttmath_logo_for_doxygen_doc.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">TTMath
   &#160;<span id="projectnumber">0.9.4_prerelease_2019-07-31</span>
   </div>
   <div id="projectbrief">&nbsp;C++ bignum library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacettmath.html">ttmath</a></li><li class="navelem"><a class="el" href="classttmath_1_1_parser.html">Parser</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Data Fields</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<div class="title">ttmath::Parser&lt; ValueType &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Mathematical parser.  
 <a href="classttmath_1_1_parser.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for ttmath::Parser&lt; ValueType &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classttmath_1_1_parser__coll__graph.png" border="0" usemap="#ttmath_1_1_parser_3_01_value_type_01_4_coll__map" alt="Collaboration graph"/></div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structttmath_1_1_parser_1_1_item.html">Item</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser_1_1_mat_operator.html">MatOperator</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae48001df619d10feedb5a15b086777d5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#ae48001df619d10feedb5a15b086777d5">GetValueOfUserDefinedVariable</a> (const std::string &amp;variable_name, ValueType &amp;result)</td></tr>
<tr class="separator:ae48001df619d10feedb5a15b086777d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65686050bfbb72c25d7ad204a5d4199f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a65686050bfbb72c25d7ad204a5d4199f">GetValueOfFunctionLocalVariable</a> (const std::string &amp;variable_name, ValueType &amp;result)</td></tr>
<tr class="separator:a65686050bfbb72c25d7ad204a5d4199f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0a4a6b1ca66c064f9bfb882537de35a"><td class="memItemLeft" align="right" valign="top">virtual ValueType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#ad0a4a6b1ca66c064f9bfb882537de35a">GetValueOfVariable</a> (const std::string &amp;variable_name)</td></tr>
<tr class="separator:ad0a4a6b1ca66c064f9bfb882537de35a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d2073c159b05f38895ef162bf90ab0d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a2d2073c159b05f38895ef162bf90ab0d">Parser</a> ()</td></tr>
<tr class="separator:a2d2073c159b05f38895ef162bf90ab0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41a4855309aab5f868bc568699bc9024"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classttmath_1_1_parser.html">Parser</a>&lt; ValueType &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a41a4855309aab5f868bc568699bc9024">operator=</a> (const <a class="el" href="classttmath_1_1_parser.html">Parser</a>&lt; ValueType &gt; &amp;p)</td></tr>
<tr class="separator:a41a4855309aab5f868bc568699bc9024"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00694176df2fc19f812280bfa0f552d6"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a00694176df2fc19f812280bfa0f552d6">~Parser</a> ()</td></tr>
<tr class="separator:a00694176df2fc19f812280bfa0f552d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeeaa54d28175c572253e688180812e4b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#aeeaa54d28175c572253e688180812e4b">Parser</a> (const <a class="el" href="classttmath_1_1_parser.html">Parser</a>&lt; ValueType &gt; &amp;p)</td></tr>
<tr class="separator:aeeaa54d28175c572253e688180812e4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba9ee1d902517d9974c0f55785bc3929"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#aba9ee1d902517d9974c0f55785bc3929">SetBase</a> (int b)</td></tr>
<tr class="separator:aba9ee1d902517d9974c0f55785bc3929"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53128532fda584cabf49f0a284f2d571"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a53128532fda584cabf49f0a284f2d571">SetDegRadGrad</a> (int angle)</td></tr>
<tr class="separator:a53128532fda584cabf49f0a284f2d571"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4668dac6d38b408d049e9f49376eca4f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a4668dac6d38b408d049e9f49376eca4f">SetStopObject</a> (const volatile <a class="el" href="classttmath_1_1_stop_calculating.html">StopCalculating</a> *ps)</td></tr>
<tr class="separator:a4668dac6d38b408d049e9f49376eca4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a158903294c885f20e296b253cf34f92d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a158903294c885f20e296b253cf34f92d">SetVariables</a> (const <a class="el" href="classttmath_1_1_objects.html">Objects</a> *pv)</td></tr>
<tr class="separator:a158903294c885f20e296b253cf34f92d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af215fd01d96a1a81ad1dd12af2367055"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#af215fd01d96a1a81ad1dd12af2367055">SetFunctions</a> (const <a class="el" href="classttmath_1_1_objects.html">Objects</a> *pf)</td></tr>
<tr class="separator:af215fd01d96a1a81ad1dd12af2367055"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3db305d20ae05c3d3b711fc224da858"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#af3db305d20ae05c3d3b711fc224da858">SetGroup</a> (int g)</td></tr>
<tr class="separator:af3db305d20ae05c3d3b711fc224da858"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71fbad48471e26bd2d835c9b545a269b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a71fbad48471e26bd2d835c9b545a269b">SetComma</a> (int c, int c2=0)</td></tr>
<tr class="separator:a71fbad48471e26bd2d835c9b545a269b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad97eab5c0e9ca57ff70727e7f8b69647"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#ad97eab5c0e9ca57ff70727e7f8b69647">SetParamSep</a> (int s)</td></tr>
<tr class="separator:ad97eab5c0e9ca57ff70727e7f8b69647"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c89d1d8b8282a9be886be17a1d4a28a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a0c89d1d8b8282a9be886be17a1d4a28a">Parse</a> (const char *str)</td></tr>
<tr class="separator:a0c89d1d8b8282a9be886be17a1d4a28a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a751dca867115029ed5dc943efabb681d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a751dca867115029ed5dc943efabb681d">Parse</a> (const std::string &amp;str)</td></tr>
<tr class="separator:a751dca867115029ed5dc943efabb681d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34659fc61a34a0b6753a57ffd5a5183b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a34659fc61a34a0b6753a57ffd5a5183b">Parse</a> (const wchar_t *str)</td></tr>
<tr class="separator:a34659fc61a34a0b6753a57ffd5a5183b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fe09488a65473c66de3a8594dea1b25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a6fe09488a65473c66de3a8594dea1b25">Parse</a> (const std::wstring &amp;str)</td></tr>
<tr class="separator:a6fe09488a65473c66de3a8594dea1b25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8daa798a58b76468b62ae58e3b03942f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a8daa798a58b76468b62ae58e3b03942f">Calculated</a> ()</td></tr>
<tr class="separator:a8daa798a58b76468b62ae58e3b03942f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8badf1dfca214d77d99c2ee62c0325b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a8badf1dfca214d77d99c2ee62c0325b6">InitCGamma</a> ()</td></tr>
<tr class="separator:a8badf1dfca214d77d99c2ee62c0325b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a72a419bd6ac1f3fb7093fff3372e5733"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="structttmath_1_1_parser_1_1_item.html">Item</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a></td></tr>
<tr class="separator:a72a419bd6ac1f3fb7093fff3372e5733"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
Protected Types</h2></td></tr>
<tr class="memitem:a622d6830c0d97eeeb4db331e09c675af"><td class="memItemLeft" align="right" valign="top"><a id="a622d6830c0d97eeeb4db331e09c675af"></a>
typedef std::map&lt; std::string, ValueType &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>FunctionLocalVariables</b></td></tr>
<tr class="separator:a622d6830c0d97eeeb4db331e09c675af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfbbff19cb3f920b450fd5e9581c8c33"><td class="memItemLeft" align="right" valign="top">typedef void(<a class="el" href="classttmath_1_1_parser.html">Parser</a>&lt; ValueType &gt;::*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#adfbbff19cb3f920b450fd5e9581c8c33">pfunction</a>) (unsigned int pstack, int amount_of_arg, ValueType &amp;result)</td></tr>
<tr class="separator:adfbbff19cb3f920b450fd5e9581c8c33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4359c79a148bbac45a4c123094d1769c"><td class="memItemLeft" align="right" valign="top">typedef void(ValueType::*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a4359c79a148bbac45a4c123094d1769c">pfunction_var</a>) ()</td></tr>
<tr class="separator:a4359c79a148bbac45a4c123094d1769c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb5ae2d2937612da8ea4a7c4558b786a"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; std::string, <a class="el" href="classttmath_1_1_parser.html#adfbbff19cb3f920b450fd5e9581c8c33">pfunction</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#adb5ae2d2937612da8ea4a7c4558b786a">FunctionsTable</a></td></tr>
<tr class="separator:adb5ae2d2937612da8ea4a7c4558b786a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3aa951b13304a470d17476760dbb6608"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; std::string, typename MatOperator::Type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a3aa951b13304a470d17476760dbb6608">OperatorsTable</a></td></tr>
<tr class="separator:a3aa951b13304a470d17476760dbb6608"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6083f87b779289c18f378642b53833ca"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; std::string, <a class="el" href="classttmath_1_1_parser.html#a4359c79a148bbac45a4c123094d1769c">pfunction_var</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a6083f87b779289c18f378642b53833ca">VariablesTable</a></td></tr>
<tr class="separator:a6083f87b779289c18f378642b53833ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a18dfe2aa287cea893532f9b0fd9c6f82"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a18dfe2aa287cea893532f9b0fd9c6f82">SkipWhiteCharacters</a> ()</td></tr>
<tr class="separator:a18dfe2aa287cea893532f9b0fd9c6f82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e22506cf1bb5af1e7af0aa138914eaa"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a3e22506cf1bb5af1e7af0aa138914eaa">EnsurePlaceOnStack</a> ()</td></tr>
<tr class="separator:a3e22506cf1bb5af1e7af0aa138914eaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a830a829f2be4355de6ba61b73c9502d2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a830a829f2be4355de6ba61b73c9502d2">AddToStack</a> (ValueType &amp;value)</td></tr>
<tr class="separator:a830a829f2be4355de6ba61b73c9502d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ada9bb3fe86c972d4a2ee70e59490db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a4ada9bb3fe86c972d4a2ee70e59490db">AddToStack</a> (typename Item::Type type, bool is_sign)</td></tr>
<tr class="separator:a4ada9bb3fe86c972d4a2ee70e59490db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5b09159b7906d2eb17bdd2c8da1e4d9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#af5b09159b7906d2eb17bdd2c8da1e4d9">AddToStack</a> (typename MatOperator::Type mat_operator_type)</td></tr>
<tr class="separator:af5b09159b7906d2eb17bdd2c8da1e4d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8582e3e347947d864fcc090f157cc698"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a8582e3e347947d864fcc090f157cc698">AddToStack</a> (typename Item::Type type, const std::string &amp;name, bool is_function, bool is_sign)</td></tr>
<tr class="separator:a8582e3e347947d864fcc090f157cc698"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a081595f4fc84de383db429bdf5c8acfa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a081595f4fc84de383db429bdf5c8acfa">RecurrenceParsingVariablesOrFunction_CheckStopCondition</a> (bool variable, const std::string &amp;name)</td></tr>
<tr class="separator:a081595f4fc84de383db429bdf5c8acfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8ec9687c5efb63127bf3ed74a0e9a01"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#ae8ec9687c5efb63127bf3ed74a0e9a01">RecurrenceParsingVariablesOrFunction_AddName</a> (bool variable, const std::string &amp;name)</td></tr>
<tr class="separator:ae8ec9687c5efb63127bf3ed74a0e9a01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a728eb8fc95ffc5929077b14c365106a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a728eb8fc95ffc5929077b14c365106a6">RecurrenceParsingVariablesOrFunction_DeleteName</a> (bool variable, const std::string &amp;name)</td></tr>
<tr class="separator:a728eb8fc95ffc5929077b14c365106a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5df6bd7cd01cdac05d28b7e30fdbcd34"><td class="memItemLeft" align="right" valign="top">ValueType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a5df6bd7cd01cdac05d28b7e30fdbcd34">RecurrenceParsingVariablesOrFunction</a> (bool variable, const std::string &amp;name, const char *new_string, FunctionLocalVariables *local_variables=0)</td></tr>
<tr class="separator:a5df6bd7cd01cdac05d28b7e30fdbcd34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64b0454eff0962d24da60cdec5e4d2fa"><td class="memItemLeft" align="right" valign="top">ValueType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a64b0454eff0962d24da60cdec5e4d2fa">ConvertAngleToRad</a> (const ValueType &amp;input)</td></tr>
<tr class="separator:a64b0454eff0962d24da60cdec5e4d2fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad03b7255157b535d3a7ca04e96140f21"><td class="memItemLeft" align="right" valign="top">ValueType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#ad03b7255157b535d3a7ca04e96140f21">ConvertRadToAngle</a> (const ValueType &amp;input)</td></tr>
<tr class="separator:ad03b7255157b535d3a7ca04e96140f21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2313aab8fda97d7409fc6a777fb04bd8"><td class="memItemLeft" align="right" valign="top"><a id="a2313aab8fda97d7409fc6a777fb04bd8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Gamma</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a2313aab8fda97d7409fc6a777fb04bd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55eddaeb73de7ef25cf624d34d0cbf54"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a55eddaeb73de7ef25cf624d34d0cbf54">Factorial</a> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a55eddaeb73de7ef25cf624d34d0cbf54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2d9037331e7a904e6f54d8a6fe2324d"><td class="memItemLeft" align="right" valign="top"><a id="ad2d9037331e7a904e6f54d8a6fe2324d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Abs</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:ad2d9037331e7a904e6f54d8a6fe2324d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7066154b6b286dd565cc2bed23846218"><td class="memItemLeft" align="right" valign="top"><a id="a7066154b6b286dd565cc2bed23846218"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Sin</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a7066154b6b286dd565cc2bed23846218"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7ce930b9f4e0dbc16a74e0ecd14b691"><td class="memItemLeft" align="right" valign="top"><a id="ad7ce930b9f4e0dbc16a74e0ecd14b691"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Cos</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:ad7ce930b9f4e0dbc16a74e0ecd14b691"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeab3a753f79ab2de0966378acdfe1d07"><td class="memItemLeft" align="right" valign="top"><a id="aeab3a753f79ab2de0966378acdfe1d07"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Tan</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:aeab3a753f79ab2de0966378acdfe1d07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6866888a924b7409536f75dc12e61719"><td class="memItemLeft" align="right" valign="top"><a id="a6866888a924b7409536f75dc12e61719"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Cot</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a6866888a924b7409536f75dc12e61719"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55794177fb32a40a80ce3301c3127cf9"><td class="memItemLeft" align="right" valign="top"><a id="a55794177fb32a40a80ce3301c3127cf9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Int</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a55794177fb32a40a80ce3301c3127cf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38935b242f0666d2267748601c84fcca"><td class="memItemLeft" align="right" valign="top"><a id="a38935b242f0666d2267748601c84fcca"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Round</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a38935b242f0666d2267748601c84fcca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab903335a97b8f5bebf0dbfc829297620"><td class="memItemLeft" align="right" valign="top"><a id="ab903335a97b8f5bebf0dbfc829297620"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Ln</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:ab903335a97b8f5bebf0dbfc829297620"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03a4bdc1eba982bf47a186def562caa5"><td class="memItemLeft" align="right" valign="top"><a id="a03a4bdc1eba982bf47a186def562caa5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Log</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a03a4bdc1eba982bf47a186def562caa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acabdf033748d0479eb0c1fbb85e6896b"><td class="memItemLeft" align="right" valign="top"><a id="acabdf033748d0479eb0c1fbb85e6896b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Exp</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:acabdf033748d0479eb0c1fbb85e6896b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63a75351c4acb75ff178993c411ab766"><td class="memItemLeft" align="right" valign="top"><a id="a63a75351c4acb75ff178993c411ab766"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Max</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a63a75351c4acb75ff178993c411ab766"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaac85eca1976d245bb8705d835d62e35"><td class="memItemLeft" align="right" valign="top"><a id="aaac85eca1976d245bb8705d835d62e35"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Min</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:aaac85eca1976d245bb8705d835d62e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78e80821fe88f06ceffb5c24ef4f0316"><td class="memItemLeft" align="right" valign="top"><a id="a78e80821fe88f06ceffb5c24ef4f0316"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>ASin</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a78e80821fe88f06ceffb5c24ef4f0316"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2a2edbcc44de0564c4f0ad566786eab"><td class="memItemLeft" align="right" valign="top"><a id="ac2a2edbcc44de0564c4f0ad566786eab"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>ACos</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:ac2a2edbcc44de0564c4f0ad566786eab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a901428859c3f1d5d1e10157d5a90577d"><td class="memItemLeft" align="right" valign="top"><a id="a901428859c3f1d5d1e10157d5a90577d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>ATan</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a901428859c3f1d5d1e10157d5a90577d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0dcc23464470bea0fc4fef05e9124d93"><td class="memItemLeft" align="right" valign="top"><a id="a0dcc23464470bea0fc4fef05e9124d93"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>ACot</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a0dcc23464470bea0fc4fef05e9124d93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae28e23400fab414c00645c07f9eabb1a"><td class="memItemLeft" align="right" valign="top"><a id="ae28e23400fab414c00645c07f9eabb1a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Sgn</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:ae28e23400fab414c00645c07f9eabb1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac28184f85fd381fd8d843c2133448165"><td class="memItemLeft" align="right" valign="top"><a id="ac28184f85fd381fd8d843c2133448165"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Mod</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:ac28184f85fd381fd8d843c2133448165"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24df2e513c6ec87e534267e7adfa3d5f"><td class="memItemLeft" align="right" valign="top"><a id="a24df2e513c6ec87e534267e7adfa3d5f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>If</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a24df2e513c6ec87e534267e7adfa3d5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4550bc5c4a815fa32048a7e68e99830"><td class="memItemLeft" align="right" valign="top"><a id="aa4550bc5c4a815fa32048a7e68e99830"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Or</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:aa4550bc5c4a815fa32048a7e68e99830"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55908d0ad9bd1fc028e9474b0f6e3109"><td class="memItemLeft" align="right" valign="top"><a id="a55908d0ad9bd1fc028e9474b0f6e3109"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>And</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a55908d0ad9bd1fc028e9474b0f6e3109"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f120cd7d7626ae64ebf2e5a0b9eb350"><td class="memItemLeft" align="right" valign="top"><a id="a3f120cd7d7626ae64ebf2e5a0b9eb350"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Not</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a3f120cd7d7626ae64ebf2e5a0b9eb350"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaeed4faf819d8d0b7f375c935eec73d9"><td class="memItemLeft" align="right" valign="top"><a id="aaeed4faf819d8d0b7f375c935eec73d9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>DegToRad</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:aaeed4faf819d8d0b7f375c935eec73d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23ad95c76387a9fea886db52794e9377"><td class="memItemLeft" align="right" valign="top"><a id="a23ad95c76387a9fea886db52794e9377"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>RadToDeg</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a23ad95c76387a9fea886db52794e9377"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e5aabba68cf8dace7d5bb917b6419a2"><td class="memItemLeft" align="right" valign="top"><a id="a8e5aabba68cf8dace7d5bb917b6419a2"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>DegToDeg</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a8e5aabba68cf8dace7d5bb917b6419a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af20c5a1b31c358af2861a9c61cfb07a6"><td class="memItemLeft" align="right" valign="top"><a id="af20c5a1b31c358af2861a9c61cfb07a6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>GradToRad</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:af20c5a1b31c358af2861a9c61cfb07a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9de0f06fc3f8fca9339320c40ea5a2f5"><td class="memItemLeft" align="right" valign="top"><a id="a9de0f06fc3f8fca9339320c40ea5a2f5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>RadToGrad</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a9de0f06fc3f8fca9339320c40ea5a2f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89b0c1a94c34b0630c7fbb405c63724c"><td class="memItemLeft" align="right" valign="top"><a id="a89b0c1a94c34b0630c7fbb405c63724c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>DegToGrad</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a89b0c1a94c34b0630c7fbb405c63724c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ad458b250089c5e06207facc8fb8224"><td class="memItemLeft" align="right" valign="top"><a id="a3ad458b250089c5e06207facc8fb8224"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>GradToDeg</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a3ad458b250089c5e06207facc8fb8224"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bdae5097b2c3658e7954e39688affd9"><td class="memItemLeft" align="right" valign="top"><a id="a6bdae5097b2c3658e7954e39688affd9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Ceil</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a6bdae5097b2c3658e7954e39688affd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5502a1cf191d285eee498689fea9691"><td class="memItemLeft" align="right" valign="top"><a id="aa5502a1cf191d285eee498689fea9691"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Floor</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:aa5502a1cf191d285eee498689fea9691"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a855bf20c7a5cabcda8d9fff4083f165f"><td class="memItemLeft" align="right" valign="top"><a id="a855bf20c7a5cabcda8d9fff4083f165f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Sqrt</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a855bf20c7a5cabcda8d9fff4083f165f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4abcd54d7ee3a267b1fb54232d5b6f8"><td class="memItemLeft" align="right" valign="top"><a id="ab4abcd54d7ee3a267b1fb54232d5b6f8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Sinh</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:ab4abcd54d7ee3a267b1fb54232d5b6f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add14e93dffbd01619da8a5d1b8307e0e"><td class="memItemLeft" align="right" valign="top"><a id="add14e93dffbd01619da8a5d1b8307e0e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Cosh</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:add14e93dffbd01619da8a5d1b8307e0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90fd9de7039cbcdd362ce2dc736345d2"><td class="memItemLeft" align="right" valign="top"><a id="a90fd9de7039cbcdd362ce2dc736345d2"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Tanh</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a90fd9de7039cbcdd362ce2dc736345d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b6fd3c697d2dd7ba86177f3d7c780db"><td class="memItemLeft" align="right" valign="top"><a id="a3b6fd3c697d2dd7ba86177f3d7c780db"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Coth</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a3b6fd3c697d2dd7ba86177f3d7c780db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e65f197960c41cc3f6763b4b664148f"><td class="memItemLeft" align="right" valign="top"><a id="a8e65f197960c41cc3f6763b4b664148f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Root</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a8e65f197960c41cc3f6763b4b664148f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa74b73e20b9f8205f9d038bec3cb289a"><td class="memItemLeft" align="right" valign="top"><a id="aa74b73e20b9f8205f9d038bec3cb289a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>ASinh</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:aa74b73e20b9f8205f9d038bec3cb289a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7651b6c6e7ba898c58e65ab0588c2e83"><td class="memItemLeft" align="right" valign="top"><a id="a7651b6c6e7ba898c58e65ab0588c2e83"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>ACosh</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a7651b6c6e7ba898c58e65ab0588c2e83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a947d05fd6e904fbade335b7837865366"><td class="memItemLeft" align="right" valign="top"><a id="a947d05fd6e904fbade335b7837865366"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>ATanh</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a947d05fd6e904fbade335b7837865366"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4fe4a2f32d738d206e3d808a0000c51"><td class="memItemLeft" align="right" valign="top"><a id="ab4fe4a2f32d738d206e3d808a0000c51"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>ACoth</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:ab4fe4a2f32d738d206e3d808a0000c51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9faff3a32a7b7ccda96c7c45bcf31cc9"><td class="memItemLeft" align="right" valign="top"><a id="a9faff3a32a7b7ccda96c7c45bcf31cc9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>BitAnd</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a9faff3a32a7b7ccda96c7c45bcf31cc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a882ce9a8b83bff915dcd69937748b687"><td class="memItemLeft" align="right" valign="top"><a id="a882ce9a8b83bff915dcd69937748b687"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>BitOr</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a882ce9a8b83bff915dcd69937748b687"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4370b09d7679dfe6828973f3fca554e5"><td class="memItemLeft" align="right" valign="top"><a id="a4370b09d7679dfe6828973f3fca554e5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>BitXor</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:a4370b09d7679dfe6828973f3fca554e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae317304e54ec3960fb5ea52766e75f58"><td class="memItemLeft" align="right" valign="top"><a id="ae317304e54ec3960fb5ea52766e75f58"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Sum</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:ae317304e54ec3960fb5ea52766e75f58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac46d5e688827ccc1046156ef8227315f"><td class="memItemLeft" align="right" valign="top"><a id="ac46d5e688827ccc1046156ef8227315f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Avg</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:ac46d5e688827ccc1046156ef8227315f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe5d375b31bf2d242ec57fe11c958847"><td class="memItemLeft" align="right" valign="top"><a id="abe5d375b31bf2d242ec57fe11c958847"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Frac</b> (unsigned int index, int amount_of_args, ValueType &amp;result)</td></tr>
<tr class="separator:abe5d375b31bf2d242ec57fe11c958847"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac424ce08b262ccdeba19a842b448bd31"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#ac424ce08b262ccdeba19a842b448bd31">Sprintf</a> (char *buffer, int par)</td></tr>
<tr class="separator:ac424ce08b262ccdeba19a842b448bd31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a921d42c66c4e4b5ad64f33ba83e28fc2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a921d42c66c4e4b5ad64f33ba83e28fc2">GetValueOfUserDefinedFunction</a> (const std::string &amp;function_name, int amount_of_args, unsigned int index)</td></tr>
<tr class="separator:a921d42c66c4e4b5ad64f33ba83e28fc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b206f851bb8200233f4ea5163ec46e9"><td class="memItemLeft" align="right" valign="top"><a id="a2b206f851bb8200233f4ea5163ec46e9"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>CallFunction</b> (const std::string &amp;function_name, int amount_of_args, unsigned int index)</td></tr>
<tr class="separator:a2b206f851bb8200233f4ea5163ec46e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c4c8f0ff19d444901af404319fe5b64"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a> (const char *function_name, <a class="el" href="classttmath_1_1_parser.html#adfbbff19cb3f920b450fd5e9581c8c33">pfunction</a> pf)</td></tr>
<tr class="separator:a2c4c8f0ff19d444901af404319fe5b64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac329d60740bc2bce20b46643194a680b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#ac329d60740bc2bce20b46643194a680b">InsertVariableToTable</a> (const char *variable_name, <a class="el" href="classttmath_1_1_parser.html#a4359c79a148bbac45a4c123094d1769c">pfunction_var</a> pf)</td></tr>
<tr class="separator:ac329d60740bc2bce20b46643194a680b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b54db87b6f8bdca1b1ca4a6250d776b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a4b54db87b6f8bdca1b1ca4a6250d776b">CreateFunctionsTable</a> ()</td></tr>
<tr class="separator:a4b54db87b6f8bdca1b1ca4a6250d776b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f5d37108926bbd48d6490cab965e55e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a2f5d37108926bbd48d6490cab965e55e">CreateVariablesTable</a> ()</td></tr>
<tr class="separator:a2f5d37108926bbd48d6490cab965e55e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a798ba12ed762d8338b97c966cfd3b456"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a798ba12ed762d8338b97c966cfd3b456">ToLowerCase</a> (int c)</td></tr>
<tr class="separator:a798ba12ed762d8338b97c966cfd3b456"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6f8e9d667bd6bf9ebf3ad3a4b91ad69"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#ad6f8e9d667bd6bf9ebf3ad3a4b91ad69">IsValidNameCharacter</a> (int c)</td></tr>
<tr class="separator:ad6f8e9d667bd6bf9ebf3ad3a4b91ad69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fb56b35c4b995f15bdd65b3bf98dae9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a5fb56b35c4b995f15bdd65b3bf98dae9">ReadName</a> (std::string &amp;result)</td></tr>
<tr class="separator:a5fb56b35c4b995f15bdd65b3bf98dae9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad44fedafb829053f6d425648730efd27"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#ad44fedafb829053f6d425648730efd27">ReadVariableOrFunction</a> (bool was_sign, bool was_minus_sign)</td></tr>
<tr class="separator:ad44fedafb829053f6d425648730efd27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2970b976c2fa0f7ba34da6cac7843c0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#ac2970b976c2fa0f7ba34da6cac7843c0">ReadValue</a> (int reading_base, bool change_sign)</td></tr>
<tr class="separator:ac2970b976c2fa0f7ba34da6cac7843c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5042e1140fdc2d051312fdbf1fdfae2"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#ac5042e1140fdc2d051312fdbf1fdfae2">ValueStarts</a> (int character, int character_base)</td></tr>
<tr class="separator:ac5042e1140fdc2d051312fdbf1fdfae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c8f806dd3c1ce41e2b075384ce69761"><td class="memItemLeft" align="right" valign="top"><a id="a3c8f806dd3c1ce41e2b075384ce69761"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>CheckSignBeforeExpression</b> (bool &amp;was_sign, bool &amp;was_minus_sign)</td></tr>
<tr class="separator:a3c8f806dd3c1ce41e2b075384ce69761"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9376cc6446f33dbcae72e5cdd8b6e5d"><td class="memItemLeft" align="right" valign="top"><a id="ac9376cc6446f33dbcae72e5cdd8b6e5d"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>ReadToken</b> ()</td></tr>
<tr class="separator:ac9376cc6446f33dbcae72e5cdd8b6e5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c3c3ef62114d8e521874d5ca47b4485"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a7c3c3ef62114d8e521874d5ca47b4485">ReadTokens</a> ()</td></tr>
<tr class="separator:a7c3c3ef62114d8e521874d5ca47b4485"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a326f18c83a543535203ca71e0ada93fc"><td class="memItemLeft" align="right" valign="top"><a id="a326f18c83a543535203ca71e0ada93fc"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>InsertOperatorToTable</b> (const char *name, typename MatOperator::Type type)</td></tr>
<tr class="separator:a326f18c83a543535203ca71e0ada93fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ee2888839ec03789e898aee9d821710"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a7ee2888839ec03789e898aee9d821710">CreateMathematicalOperatorsTable</a> ()</td></tr>
<tr class="separator:a7ee2888839ec03789e898aee9d821710"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a545e4369237366fad4a82073653986a2"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a545e4369237366fad4a82073653986a2">IsSubstring</a> (const std::string &amp;short_str, const std::string &amp;long_str)</td></tr>
<tr class="separator:a545e4369237366fad4a82073653986a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab85f94b933780473488a3965a81f8a13"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#ab85f94b933780473488a3965a81f8a13">ReadMathematicalOperator</a> ()</td></tr>
<tr class="separator:ab85f94b933780473488a3965a81f8a13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4448a43025c9183b50bd7b4de5ee42a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#af4448a43025c9183b50bd7b4de5ee42a">OperatorPercentage</a> ()</td></tr>
<tr class="separator:af4448a43025c9183b50bd7b4de5ee42a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1171e113b8753cfaf11d6efd7051754f"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a1171e113b8753cfaf11d6efd7051754f">ReadOperator</a> ()</td></tr>
<tr class="separator:a1171e113b8753cfaf11d6efd7051754f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adab2410fd0ff79bcbbbffbb253b68754"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#adab2410fd0ff79bcbbbffbb253b68754">ReadOperators</a> ()</td></tr>
<tr class="separator:adab2410fd0ff79bcbbbffbb253b68754"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85ed041b22886865ca08db963b680797"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a85ed041b22886865ca08db963b680797">MakeStandardMathematicOperation</a> (<a class="el" href="structttmath_1_1_parser_1_1_item.html">Item</a> &amp;item1, typename MatOperator::Type mat_operator, const <a class="el" href="structttmath_1_1_parser_1_1_item.html">Item</a> &amp;item2)</td></tr>
<tr class="separator:a85ed041b22886865ca08db963b680797"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2fa94d01e5ff215c7de9fd3568c4687"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#ad2fa94d01e5ff215c7de9fd3568c4687">RollUpStackWithOperatorsPriority</a> ()</td></tr>
<tr class="separator:ad2fa94d01e5ff215c7de9fd3568c4687"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d1c1c1ba9a2947925391623b8e28667"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a3d1c1c1ba9a2947925391623b8e28667">RollUPStack</a> ()</td></tr>
<tr class="separator:a3d1c1c1ba9a2947925391623b8e28667"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4b47a52abc190792054af7b3e2c2475"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#ad4b47a52abc190792054af7b3e2c2475">HowManyParameters</a> (unsigned int &amp;size, unsigned int &amp;index)</td></tr>
<tr class="separator:ad4b47a52abc190792054af7b3e2c2475"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f9eecfc18ea2ecd8bdf2718676aec7e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a9f9eecfc18ea2ecd8bdf2718676aec7e">RollingUpFinalBracket</a> ()</td></tr>
<tr class="separator:a9f9eecfc18ea2ecd8bdf2718676aec7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b827e8e885c0d2c25a2c4e3868c9942"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a0b827e8e885c0d2c25a2c4e3868c9942">CheckStackIntegrity</a> ()</td></tr>
<tr class="separator:a0b827e8e885c0d2c25a2c4e3868c9942"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ff995ad169145f2262f87eb289a30a7"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a9ff995ad169145f2262f87eb289a30a7">Parse</a> ()</td></tr>
<tr class="separator:a9ff995ad169145f2262f87eb289a30a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87b11a1ae9b51f97fdc5661fa65290a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a87b11a1ae9b51f97fdc5661fa65290a8">NormalizeStack</a> ()</td></tr>
<tr class="separator:a87b11a1ae9b51f97fdc5661fa65290a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:a287b438ea218cec334a0ce0ad45a095c"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a> (<a class="el" href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ErrorCode</a> code)</td></tr>
<tr class="separator:a287b438ea218cec334a0ce0ad45a095c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a96797a7951ba063108cf37cdab6d3970"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a96797a7951ba063108cf37cdab6d3970">default_stack_size</a></td></tr>
<tr class="separator:a96797a7951ba063108cf37cdab6d3970"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0838f95cf21b1a36c1a7b564536f57e"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a></td></tr>
<tr class="separator:ab0838f95cf21b1a36c1a7b564536f57e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49910610d53c11e2113bb55fb59f53ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a49910610d53c11e2113bb55fb59f53ab">error</a></td></tr>
<tr class="separator:a49910610d53c11e2113bb55fb59f53ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a1cefe27be9fd9890edc90409fe5587"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a></td></tr>
<tr class="separator:a1a1cefe27be9fd9890edc90409fe5587"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6f8c51fe4be9827470e4d5106709919"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#ac6f8c51fe4be9827470e4d5106709919">base</a></td></tr>
<tr class="separator:ac6f8c51fe4be9827470e4d5106709919"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6f18a437d2f8045746afe94f1ab4463"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#aa6f18a437d2f8045746afe94f1ab4463">deg_rad_grad</a></td></tr>
<tr class="separator:aa6f18a437d2f8045746afe94f1ab4463"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af29080fbcf2ab0de3122c8ba0d8f9f4e"><td class="memItemLeft" align="right" valign="top">const volatile <a class="el" href="classttmath_1_1_stop_calculating.html">StopCalculating</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#af29080fbcf2ab0de3122c8ba0d8f9f4e">pstop_calculating</a></td></tr>
<tr class="separator:af29080fbcf2ab0de3122c8ba0d8f9f4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e259715db51746ab1b9f8a4d681a77f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classttmath_1_1_objects.html">Objects</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a2e259715db51746ab1b9f8a4d681a77f">puser_variables</a></td></tr>
<tr class="separator:a2e259715db51746ab1b9f8a4d681a77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec0b31b5c38bc5a1fe63eac79b546915"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classttmath_1_1_objects.html">Objects</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#aec0b31b5c38bc5a1fe63eac79b546915">puser_functions</a></td></tr>
<tr class="separator:aec0b31b5c38bc5a1fe63eac79b546915"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab24aedab3532054ce9375d1f9bd3acf2"><td class="memItemLeft" align="right" valign="top">const FunctionLocalVariables *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#ab24aedab3532054ce9375d1f9bd3acf2">pfunction_local_variables</a></td></tr>
<tr class="separator:ab24aedab3532054ce9375d1f9bd3acf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab98ce9b1914a61ecb54e5ace8f7f7f5"><td class="memItemLeft" align="right" valign="top">std::set&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#aab98ce9b1914a61ecb54e5ace8f7f7f5">visited_variables</a></td></tr>
<tr class="separator:aab98ce9b1914a61ecb54e5ace8f7f7f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77a65a6e909069850b51d5ce42781e6e"><td class="memItemLeft" align="right" valign="top">std::set&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a77a65a6e909069850b51d5ce42781e6e">visited_functions</a></td></tr>
<tr class="separator:a77a65a6e909069850b51d5ce42781e6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e61ee56f8004a797ed1a8ee779b5c24"><td class="memItemLeft" align="right" valign="top"><a id="a5e61ee56f8004a797ed1a8ee779b5c24"></a>
<a class="el" href="classttmath_1_1_parser.html#adb5ae2d2937612da8ea4a7c4558b786a">FunctionsTable</a>&#160;</td><td class="memItemRight" valign="bottom"><b>functions_table</b></td></tr>
<tr class="separator:a5e61ee56f8004a797ed1a8ee779b5c24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add288ab19cba6eeef274fe2dabfd201b"><td class="memItemLeft" align="right" valign="top"><a id="add288ab19cba6eeef274fe2dabfd201b"></a>
<a class="el" href="classttmath_1_1_parser.html#a3aa951b13304a470d17476760dbb6608">OperatorsTable</a>&#160;</td><td class="memItemRight" valign="bottom"><b>operators_table</b></td></tr>
<tr class="separator:add288ab19cba6eeef274fe2dabfd201b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39199b3ccbf85f37b58d5e4ac60a9719"><td class="memItemLeft" align="right" valign="top"><a id="a39199b3ccbf85f37b58d5e4ac60a9719"></a>
<a class="el" href="classttmath_1_1_parser.html#a6083f87b779289c18f378642b53833ca">VariablesTable</a>&#160;</td><td class="memItemRight" valign="bottom"><b>variables_table</b></td></tr>
<tr class="separator:a39199b3ccbf85f37b58d5e4ac60a9719"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa001fd6c5f232340b525edfd60b300a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structttmath_1_1_c_gamma.html">CGamma</a>&lt; ValueType &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#aa001fd6c5f232340b525edfd60b300a1">cgamma</a></td></tr>
<tr class="separator:aa001fd6c5f232340b525edfd60b300a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00714e1d43b44bfa704446df504baec3"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a00714e1d43b44bfa704446df504baec3">wide_to_ansi</a></td></tr>
<tr class="separator:a00714e1d43b44bfa704446df504baec3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9cce071c7b302a768acbab99016d6e3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#aa9cce071c7b302a768acbab99016d6e3">group</a></td></tr>
<tr class="separator:aa9cce071c7b302a768acbab99016d6e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c57cceddcb884aa0aaa2db745470e9d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a8c57cceddcb884aa0aaa2db745470e9d">comma</a></td></tr>
<tr class="separator:a8c57cceddcb884aa0aaa2db745470e9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf4acce988d97a38cf54f54bdf82b59b"><td class="memItemLeft" align="right" valign="top"><a id="acf4acce988d97a38cf54f54bdf82b59b"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>comma2</b></td></tr>
<tr class="separator:acf4acce988d97a38cf54f54bdf82b59b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09545024c0b0a862429a54bf8a460d1c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a09545024c0b0a862429a54bf8a460d1c">param_sep</a></td></tr>
<tr class="separator:a09545024c0b0a862429a54bf8a460d1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8653b6bcfb38df599ae12072c6766f67"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_parser.html#a8653b6bcfb38df599ae12072c6766f67">calculated</a></td></tr>
<tr class="separator:a8653b6bcfb38df599ae12072c6766f67"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class ValueType&gt;<br />
class ttmath::Parser&lt; ValueType &gt;</h3>

<p>Mathematical parser. </p>
<p>let x will be an input string meaning an expression for converting:</p>
<p>x = [+|-]Value[operator[+|-]Value][operator[+|-]Value]... where: an operator can be: ^ (pow) (the heighest priority)</p>
<p>(mul) (or multiplication without an operator &ndash; short mul) / (div) (* and / have the same priority)</p>
<ul>
<li>(add)</li>
<li>(sub) (+ and - have the same priority)</li>
</ul>
<p>&lt; (lower than) &gt; (greater than) &lt;= (lower or equal than) &gt;= (greater or equal than) == (equal) != (not equal) (all above logical operators have the same priority)</p>
<p>&amp;&amp; (logical and)</p>
<p>|| (logical or) (the lowest priority)</p>
<p>short mul: if the second Value (Var below) is either a variable or function there might not be an operator between them, e.g. "[+|-]Value Var" is treated as "[+|-]Value * Var" and the multiplication has the same priority as a normal multiplication: 4x = 4 * x 2^3m = (2^3)* m 6h^3 = 6 * (h^3) 2sin(pi) = 2 * sin(pi) etc.</p>
<p>Value can be: constant e.g. 100, can be preceded by operators for changing the base (radix): [#|&amp;] </p><h1>- hex</h1>
<p>&amp; - bin sample: #10 = 16 &amp;10 = 2 variable e.g. pi another expression between brackets e.g (x) function e.g. sin(x)</p>
<p>for example a correct input string can be: "1" "2.1234" "2,1234" (they are the same, by default we can either use a comma or a dot) "1 + 2" "(1 + 2) * 3" "pi" "sin(pi)" "(1+2)*(2+3)" "log(2;1234)" there's a semicolon here (not a comma), we use it in functions for separating parameters "1 &lt; 2" (the result will be: 1) "4 &lt; 3" (the result will be: 0) "2+x" (of course if the variable 'x' is defined) "4x+10" "#20+10" = 32 + 10 = 42 "10 ^ -&amp;101" = 10 ^ -5 = 0.00001 "8 * -&amp;10" = 8 * -2 = -16 etc.</p>
<p>we can also use a semicolon for separating any 'x' input strings for example: "1+2;4+5" the result will be on the stack as follows: stack[0].value=3 stack[1].value=9 </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00138">138</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="adb5ae2d2937612da8ea4a7c4558b786a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb5ae2d2937612da8ea4a7c4558b786a">&#9670;&nbsp;</a></span>FunctionsTable</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;std::string, <a class="el" href="classttmath_1_1_parser.html#adfbbff19cb3f920b450fd5e9581c8c33">pfunction</a>&gt; <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::<a class="el" href="classttmath_1_1_parser.html#adb5ae2d2937612da8ea4a7c4558b786a">FunctionsTable</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>table of mathematic functions</p>
<p>this map consists of: std::string - function's name pfunction - pointer to specific function </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00436">436</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

</div>
</div>
<a id="a3aa951b13304a470d17476760dbb6608"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3aa951b13304a470d17476760dbb6608">&#9670;&nbsp;</a></span>OperatorsTable</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;std::string, typename MatOperator::Type&gt; <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::<a class="el" href="classttmath_1_1_parser.html#a3aa951b13304a470d17476760dbb6608">OperatorsTable</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>table of mathematic operators</p>
<p>this map consists of: std::string - operators's name MatOperator::Type - type of the operator </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00447">447</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

</div>
</div>
<a id="adfbbff19cb3f920b450fd5e9581c8c33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adfbbff19cb3f920b450fd5e9581c8c33">&#9670;&nbsp;</a></span>pfunction</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(<a class="el" href="classttmath_1_1_parser.html">Parser</a>&lt;ValueType&gt;::* <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::pfunction) (unsigned int pstack, int amount_of_arg, ValueType &amp;result)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>pfunction is the type of pointer to a mathematic function</p>
<p>these mathematic functions are private members of this class, they are the wrappers for standard mathematics function</p>
<p>'pstack' is the pointer to the first argument on our stack 'amount_of_arg' tell us how many argument there are in our stack 'result' is the reference for result of function </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00420">420</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

</div>
</div>
<a id="a4359c79a148bbac45a4c123094d1769c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4359c79a148bbac45a4c123094d1769c">&#9670;&nbsp;</a></span>pfunction_var</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(ValueType::* <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::pfunction_var) ()</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>pfunction is the type of pointer to a method which returns value of variable </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00426">426</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

</div>
</div>
<a id="a6083f87b779289c18f378642b53833ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6083f87b779289c18f378642b53833ca">&#9670;&nbsp;</a></span>VariablesTable</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;std::string, <a class="el" href="classttmath_1_1_parser.html#a4359c79a148bbac45a4c123094d1769c">pfunction_var</a>&gt; <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::<a class="el" href="classttmath_1_1_parser.html#a6083f87b779289c18f378642b53833ca">VariablesTable</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>table of mathematic variables</p>
<p>this map consists of: std::string - variable's name pfunction_var - pointer to specific function which returns value of variable </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00458">458</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a2d2073c159b05f38895ef162bf90ab0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d2073c159b05f38895ef162bf90ab0d">&#9670;&nbsp;</a></span>Parser() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::<a class="el" href="classttmath_1_1_parser.html">Parser</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>the default constructor </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02524">2524</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02524"></a><span class="lineno"> 2524</span>&#160;        : <a class="code" href="classttmath_1_1_parser.html#a96797a7951ba063108cf37cdab6d3970">default_stack_size</a>(100)</div><div class="line"><a name="l02525"></a><span class="lineno"> 2525</span>&#160;{</div><div class="line"><a name="l02526"></a><span class="lineno"> 2526</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#af29080fbcf2ab0de3122c8ba0d8f9f4e">pstop_calculating</a> = 0;</div><div class="line"><a name="l02527"></a><span class="lineno"> 2527</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2e259715db51746ab1b9f8a4d681a77f">puser_variables</a>   = 0;</div><div class="line"><a name="l02528"></a><span class="lineno"> 2528</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#aec0b31b5c38bc5a1fe63eac79b546915">puser_functions</a>   = 0;</div><div class="line"><a name="l02529"></a><span class="lineno"> 2529</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#ab24aedab3532054ce9375d1f9bd3acf2">pfunction_local_variables</a> = 0;</div><div class="line"><a name="l02530"></a><span class="lineno"> 2530</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#ac6f8c51fe4be9827470e4d5106709919">base</a>              = 10;</div><div class="line"><a name="l02531"></a><span class="lineno"> 2531</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#aa6f18a437d2f8045746afe94f1ab4463">deg_rad_grad</a>      = 1;</div><div class="line"><a name="l02532"></a><span class="lineno"> 2532</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a49910610d53c11e2113bb55fb59f53ab">error</a>             = err_ok;</div><div class="line"><a name="l02533"></a><span class="lineno"> 2533</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#aa9cce071c7b302a768acbab99016d6e3">group</a>             = 0;</div><div class="line"><a name="l02534"></a><span class="lineno"> 2534</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a8c57cceddcb884aa0aaa2db745470e9d">comma</a>             = <span class="charliteral">&#39;.&#39;</span>;</div><div class="line"><a name="l02535"></a><span class="lineno"> 2535</span>&#160;    comma2            = <span class="charliteral">&#39;,&#39;</span>;</div><div class="line"><a name="l02536"></a><span class="lineno"> 2536</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a09545024c0b0a862429a54bf8a460d1c">param_sep</a>         = 0;</div><div class="line"><a name="l02537"></a><span class="lineno"> 2537</span>&#160;</div><div class="line"><a name="l02538"></a><span class="lineno"> 2538</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a4b54db87b6f8bdca1b1ca4a6250d776b">CreateFunctionsTable</a>();</div><div class="line"><a name="l02539"></a><span class="lineno"> 2539</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2f5d37108926bbd48d6490cab965e55e">CreateVariablesTable</a>();</div><div class="line"><a name="l02540"></a><span class="lineno"> 2540</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a7ee2888839ec03789e898aee9d821710">CreateMathematicalOperatorsTable</a>();</div><div class="line"><a name="l02541"></a><span class="lineno"> 2541</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a2f5d37108926bbd48d6490cab965e55e"><div class="ttname"><a href="classttmath_1_1_parser.html#a2f5d37108926bbd48d6490cab965e55e">ttmath::Parser::CreateVariablesTable</a></div><div class="ttdeci">void CreateVariablesTable()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l01723">ttmathparser.h:1723</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ab24aedab3532054ce9375d1f9bd3acf2"><div class="ttname"><a href="classttmath_1_1_parser.html#ab24aedab3532054ce9375d1f9bd3acf2">ttmath::Parser::pfunction_local_variables</a></div><div class="ttdeci">const FunctionLocalVariables * pfunction_local_variables</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00393">ttmathparser.h:393</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a4b54db87b6f8bdca1b1ca4a6250d776b"><div class="ttname"><a href="classttmath_1_1_parser.html#a4b54db87b6f8bdca1b1ca4a6250d776b">ttmath::Parser::CreateFunctionsTable</a></div><div class="ttdeci">void CreateFunctionsTable()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l01655">ttmathparser.h:1655</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ac6f8c51fe4be9827470e4d5106709919"><div class="ttname"><a href="classttmath_1_1_parser.html#ac6f8c51fe4be9827470e4d5106709919">ttmath::Parser::base</a></div><div class="ttdeci">int base</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00357">ttmathparser.h:357</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a8c57cceddcb884aa0aaa2db745470e9d"><div class="ttname"><a href="classttmath_1_1_parser.html#a8c57cceddcb884aa0aaa2db745470e9d">ttmath::Parser::comma</a></div><div class="ttdeci">int comma</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00486">ttmathparser.h:486</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a2e259715db51746ab1b9f8a4d681a77f"><div class="ttname"><a href="classttmath_1_1_parser.html#a2e259715db51746ab1b9f8a4d681a77f">ttmath::Parser::puser_variables</a></div><div class="ttdeci">const Objects * puser_variables</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00380">ttmathparser.h:380</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a96797a7951ba063108cf37cdab6d3970"><div class="ttname"><a href="classttmath_1_1_parser.html#a96797a7951ba063108cf37cdab6d3970">ttmath::Parser::default_stack_size</a></div><div class="ttdeci">const int default_stack_size</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00329">ttmathparser.h:329</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_af29080fbcf2ab0de3122c8ba0d8f9f4e"><div class="ttname"><a href="classttmath_1_1_parser.html#af29080fbcf2ab0de3122c8ba0d8f9f4e">ttmath::Parser::pstop_calculating</a></div><div class="ttdeci">const volatile StopCalculating * pstop_calculating</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00373">ttmathparser.h:373</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a7ee2888839ec03789e898aee9d821710"><div class="ttname"><a href="classttmath_1_1_parser.html#a7ee2888839ec03789e898aee9d821710">ttmath::Parser::CreateMathematicalOperatorsTable</a></div><div class="ttdeci">void CreateMathematicalOperatorsTable()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02008">ttmathparser.h:2008</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a49910610d53c11e2113bb55fb59f53ab"><div class="ttname"><a href="classttmath_1_1_parser.html#a49910610d53c11e2113bb55fb59f53ab">ttmath::Parser::error</a></div><div class="ttdeci">ErrorCode error</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00344">ttmathparser.h:344</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_aa6f18a437d2f8045746afe94f1ab4463"><div class="ttname"><a href="classttmath_1_1_parser.html#aa6f18a437d2f8045746afe94f1ab4463">ttmath::Parser::deg_rad_grad</a></div><div class="ttdeci">int deg_rad_grad</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00366">ttmathparser.h:366</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_aa9cce071c7b302a768acbab99016d6e3"><div class="ttname"><a href="classttmath_1_1_parser.html#aa9cce071c7b302a768acbab99016d6e3">ttmath::Parser::group</a></div><div class="ttdeci">int group</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00478">ttmathparser.h:478</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_aec0b31b5c38bc5a1fe63eac79b546915"><div class="ttname"><a href="classttmath_1_1_parser.html#aec0b31b5c38bc5a1fe63eac79b546915">ttmath::Parser::puser_functions</a></div><div class="ttdeci">const Objects * puser_functions</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00385">ttmathparser.h:385</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a09545024c0b0a862429a54bf8a460d1c"><div class="ttname"><a href="classttmath_1_1_parser.html#a09545024c0b0a862429a54bf8a460d1c">ttmath::Parser::param_sep</a></div><div class="ttdeci">int param_sep</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00493">ttmathparser.h:493</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00357">ttmath::Parser&lt; ValueType &gt;::base</a>, <a class="el" href="ttmathparser_8h_source.html#l00486">ttmath::Parser&lt; ValueType &gt;::comma</a>, <a class="el" href="ttmathparser_8h_source.html#l01655">ttmath::Parser&lt; ValueType &gt;::CreateFunctionsTable()</a>, <a class="el" href="ttmathparser_8h_source.html#l02008">ttmath::Parser&lt; ValueType &gt;::CreateMathematicalOperatorsTable()</a>, <a class="el" href="ttmathparser_8h_source.html#l01723">ttmath::Parser&lt; ValueType &gt;::CreateVariablesTable()</a>, <a class="el" href="ttmathparser_8h_source.html#l00366">ttmath::Parser&lt; ValueType &gt;::deg_rad_grad</a>, <a class="el" href="ttmathparser_8h_source.html#l00344">ttmath::Parser&lt; ValueType &gt;::error</a>, <a class="el" href="ttmathparser_8h_source.html#l00478">ttmath::Parser&lt; ValueType &gt;::group</a>, <a class="el" href="ttmathparser_8h_source.html#l00493">ttmath::Parser&lt; ValueType &gt;::param_sep</a>, <a class="el" href="ttmathparser_8h_source.html#l00393">ttmath::Parser&lt; ValueType &gt;::pfunction_local_variables</a>, <a class="el" href="ttmathparser_8h_source.html#l00373">ttmath::Parser&lt; ValueType &gt;::pstop_calculating</a>, <a class="el" href="ttmathparser_8h_source.html#l00385">ttmath::Parser&lt; ValueType &gt;::puser_functions</a>, and <a class="el" href="ttmathparser_8h_source.html#l00380">ttmath::Parser&lt; ValueType &gt;::puser_variables</a>.</p>

</div>
</div>
<a id="a00694176df2fc19f812280bfa0f552d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00694176df2fc19f812280bfa0f552d6">&#9670;&nbsp;</a></span>~Parser()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::~<a class="el" href="classttmath_1_1_parser.html">Parser</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>dctor </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02579">2579</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02580"></a><span class="lineno"> 2580</span>&#160;{</div><div class="line"><a name="l02581"></a><span class="lineno"> 2581</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="aeeaa54d28175c572253e688180812e4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeeaa54d28175c572253e688180812e4b">&#9670;&nbsp;</a></span>Parser() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::<a class="el" href="classttmath_1_1_parser.html">Parser</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_parser.html">Parser</a>&lt; ValueType &gt; &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>the copying constructor </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02588">2588</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02588"></a><span class="lineno"> 2588</span>&#160;                                   : <a class="code" href="classttmath_1_1_parser.html#a96797a7951ba063108cf37cdab6d3970">default_stack_size</a>(p.default_stack_size)</div><div class="line"><a name="l02589"></a><span class="lineno"> 2589</span>&#160;{</div><div class="line"><a name="l02590"></a><span class="lineno"> 2590</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a41a4855309aab5f868bc568699bc9024">operator=</a>(p);</div><div class="line"><a name="l02591"></a><span class="lineno"> 2591</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a96797a7951ba063108cf37cdab6d3970"><div class="ttname"><a href="classttmath_1_1_parser.html#a96797a7951ba063108cf37cdab6d3970">ttmath::Parser::default_stack_size</a></div><div class="ttdeci">const int default_stack_size</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00329">ttmathparser.h:329</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a41a4855309aab5f868bc568699bc9024"><div class="ttname"><a href="classttmath_1_1_parser.html#a41a4855309aab5f868bc568699bc9024">ttmath::Parser::operator=</a></div><div class="ttdeci">Parser&lt; ValueType &gt; &amp; operator=(const Parser&lt; ValueType &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02547">ttmathparser.h:2547</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l02547">ttmath::Parser&lt; ValueType &gt;::operator=()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a830a829f2be4355de6ba61b73c9502d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a830a829f2be4355de6ba61b73c9502d2">&#9670;&nbsp;</a></span>AddToStack() <span class="overload">[1/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::AddToStack </td>
          <td>(</td>
          <td class="paramtype">ValueType &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>add a new item (numerical value) to the stack </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00540">540</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;{</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a3e22506cf1bb5af1e7af0aa138914eaa">EnsurePlaceOnStack</a>();</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>].Clear();</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>].type = Item::numerical_value;</div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>].value = value;</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a> += 1;</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a3e22506cf1bb5af1e7af0aa138914eaa"><div class="ttname"><a href="classttmath_1_1_parser.html#a3e22506cf1bb5af1e7af0aa138914eaa">ttmath::Parser::EnsurePlaceOnStack</a></div><div class="ttdeci">virtual void EnsurePlaceOnStack()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00528">ttmathparser.h:528</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a72a419bd6ac1f3fb7093fff3372e5733"><div class="ttname"><a href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">ttmath::Parser::stack</a></div><div class="ttdeci">std::vector&lt; Item &gt; stack</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00318">ttmathparser.h:318</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ab0838f95cf21b1a36c1a7b564536f57e"><div class="ttname"><a href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">ttmath::Parser::stack_index</a></div><div class="ttdeci">unsigned int stack_index</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00338">ttmathparser.h:338</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00528">ttmath::Parser&lt; ValueType &gt;::EnsurePlaceOnStack()</a>, <a class="el" href="ttmathparser_8h_source.html#l00318">ttmath::Parser&lt; ValueType &gt;::stack</a>, and <a class="el" href="ttmathparser_8h_source.html#l00338">ttmath::Parser&lt; ValueType &gt;::stack_index</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02049">ttmath::Parser&lt; ValueType &gt;::ReadMathematicalOperator()</a>, <a class="el" href="ttmathparser_8h_source.html#l02114">ttmath::Parser&lt; ValueType &gt;::ReadOperator()</a>, <a class="el" href="ttmathparser_8h_source.html#l01839">ttmath::Parser&lt; ValueType &gt;::ReadValue()</a>, and <a class="el" href="ttmathparser_8h_source.html#l01778">ttmath::Parser&lt; ValueType &gt;::ReadVariableOrFunction()</a>.</p>

</div>
</div>
<a id="a4ada9bb3fe86c972d4a2ee70e59490db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ada9bb3fe86c972d4a2ee70e59490db">&#9670;&nbsp;</a></span>AddToStack() <span class="overload">[2/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::AddToStack </td>
          <td>(</td>
          <td class="paramtype">typename Item::Type&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>is_sign</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>add a new item to the stack </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00554">554</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;{</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a3e22506cf1bb5af1e7af0aa138914eaa">EnsurePlaceOnStack</a>();</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>].Clear();</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>].type = type;</div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>].function = <span class="keyword">false</span>;</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>].sign = is_sign;</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a> += 1;</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a3e22506cf1bb5af1e7af0aa138914eaa"><div class="ttname"><a href="classttmath_1_1_parser.html#a3e22506cf1bb5af1e7af0aa138914eaa">ttmath::Parser::EnsurePlaceOnStack</a></div><div class="ttdeci">virtual void EnsurePlaceOnStack()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00528">ttmathparser.h:528</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a72a419bd6ac1f3fb7093fff3372e5733"><div class="ttname"><a href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">ttmath::Parser::stack</a></div><div class="ttdeci">std::vector&lt; Item &gt; stack</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00318">ttmathparser.h:318</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ab0838f95cf21b1a36c1a7b564536f57e"><div class="ttname"><a href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">ttmath::Parser::stack_index</a></div><div class="ttdeci">unsigned int stack_index</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00338">ttmathparser.h:338</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00528">ttmath::Parser&lt; ValueType &gt;::EnsurePlaceOnStack()</a>, <a class="el" href="ttmathparser_8h_source.html#l00318">ttmath::Parser&lt; ValueType &gt;::stack</a>, and <a class="el" href="ttmathparser_8h_source.html#l00338">ttmath::Parser&lt; ValueType &gt;::stack_index</a>.</p>

</div>
</div>
<a id="af5b09159b7906d2eb17bdd2c8da1e4d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5b09159b7906d2eb17bdd2c8da1e4d9">&#9670;&nbsp;</a></span>AddToStack() <span class="overload">[3/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::AddToStack </td>
          <td>(</td>
          <td class="paramtype">typename MatOperator::Type&#160;</td>
          <td class="paramname"><em>mat_operator_type</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>add a new item (math operator) to the stack </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00569">569</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;{</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a3e22506cf1bb5af1e7af0aa138914eaa">EnsurePlaceOnStack</a>();</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;</div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>].Clear();</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>].type = Item::mat_operator;</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>].moperator.SetType(mat_operator_type);</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a> += 1;</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a3e22506cf1bb5af1e7af0aa138914eaa"><div class="ttname"><a href="classttmath_1_1_parser.html#a3e22506cf1bb5af1e7af0aa138914eaa">ttmath::Parser::EnsurePlaceOnStack</a></div><div class="ttdeci">virtual void EnsurePlaceOnStack()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00528">ttmathparser.h:528</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a72a419bd6ac1f3fb7093fff3372e5733"><div class="ttname"><a href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">ttmath::Parser::stack</a></div><div class="ttdeci">std::vector&lt; Item &gt; stack</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00318">ttmathparser.h:318</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ab0838f95cf21b1a36c1a7b564536f57e"><div class="ttname"><a href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">ttmath::Parser::stack_index</a></div><div class="ttdeci">unsigned int stack_index</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00338">ttmathparser.h:338</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00528">ttmath::Parser&lt; ValueType &gt;::EnsurePlaceOnStack()</a>, <a class="el" href="ttmathparser_8h_source.html#l00318">ttmath::Parser&lt; ValueType &gt;::stack</a>, and <a class="el" href="ttmathparser_8h_source.html#l00338">ttmath::Parser&lt; ValueType &gt;::stack_index</a>.</p>

</div>
</div>
<a id="a8582e3e347947d864fcc090f157cc698"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8582e3e347947d864fcc090f157cc698">&#9670;&nbsp;</a></span>AddToStack() <span class="overload">[4/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::AddToStack </td>
          <td>(</td>
          <td class="paramtype">typename Item::Type&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>is_function</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>is_sign</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>add a new item (function or variable) to the stack</p>
<p>if is_function is true then we add a function name when false then we add a variable (such a case is only when an assigment operator = is used e.g. a = 10) </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00586">586</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;{</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a3e22506cf1bb5af1e7af0aa138914eaa">EnsurePlaceOnStack</a>();</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>].Clear();</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>].type = type;</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>].function_name = name;</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>].function = is_function;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>].sign = is_sign;</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a> += 1;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a3e22506cf1bb5af1e7af0aa138914eaa"><div class="ttname"><a href="classttmath_1_1_parser.html#a3e22506cf1bb5af1e7af0aa138914eaa">ttmath::Parser::EnsurePlaceOnStack</a></div><div class="ttdeci">virtual void EnsurePlaceOnStack()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00528">ttmathparser.h:528</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a72a419bd6ac1f3fb7093fff3372e5733"><div class="ttname"><a href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">ttmath::Parser::stack</a></div><div class="ttdeci">std::vector&lt; Item &gt; stack</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00318">ttmathparser.h:318</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ab0838f95cf21b1a36c1a7b564536f57e"><div class="ttname"><a href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">ttmath::Parser::stack_index</a></div><div class="ttdeci">unsigned int stack_index</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00338">ttmathparser.h:338</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00528">ttmath::Parser&lt; ValueType &gt;::EnsurePlaceOnStack()</a>, <a class="el" href="ttmathparser_8h_source.html#l00318">ttmath::Parser&lt; ValueType &gt;::stack</a>, and <a class="el" href="ttmathparser_8h_source.html#l00338">ttmath::Parser&lt; ValueType &gt;::stack_index</a>.</p>

</div>
</div>
<a id="a8daa798a58b76468b62ae58e3b03942f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8daa798a58b76468b62ae58e3b03942f">&#9670;&nbsp;</a></span>Calculated()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::Calculated </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method returns true is something was calculated (at least one mathematical operator was used or a function or variable) e.g. true if the string to <a class="el" href="classttmath_1_1_parser.html#a9ff995ad169145f2262f87eb289a30a7">Parse()</a> looked like this: "1+1" "2*3" "sin(5)"</p>
<p>if the string was e.g. "678" the result is false </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02757">2757</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02758"></a><span class="lineno"> 2758</span>&#160;{</div><div class="line"><a name="l02759"></a><span class="lineno"> 2759</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_parser.html#a8653b6bcfb38df599ae12072c6766f67">calculated</a>;</div><div class="line"><a name="l02760"></a><span class="lineno"> 2760</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a8653b6bcfb38df599ae12072c6766f67"><div class="ttname"><a href="classttmath_1_1_parser.html#a8653b6bcfb38df599ae12072c6766f67">ttmath::Parser::calculated</a></div><div class="ttdeci">bool calculated</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00499">ttmathparser.h:499</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00499">ttmath::Parser&lt; ValueType &gt;::calculated</a>.</p>

</div>
</div>
<a id="a0b827e8e885c0d2c25a2c4e3868c9942"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b827e8e885c0d2c25a2c4e3868c9942">&#9670;&nbsp;</a></span>CheckStackIntegrity()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::CheckStackIntegrity </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>we check wheter there are only numerical value's on the stack </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02451">2451</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02452"></a><span class="lineno"> 2452</span>&#160;{</div><div class="line"><a name="l02453"></a><span class="lineno"> 2453</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0 ; i&lt;<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>; ++i)</div><div class="line"><a name="l02454"></a><span class="lineno"> 2454</span>&#160;    {</div><div class="line"><a name="l02455"></a><span class="lineno"> 2455</span>&#160;        <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[i].type != Item::numerical_value )</div><div class="line"><a name="l02456"></a><span class="lineno"> 2456</span>&#160;        {</div><div class="line"><a name="l02457"></a><span class="lineno"> 2457</span>&#160;            <span class="comment">/*</span></div><div class="line"><a name="l02458"></a><span class="lineno"> 2458</span>&#160;<span class="comment">                on the stack we must only have &#39;numerical_value&#39;</span></div><div class="line"><a name="l02459"></a><span class="lineno"> 2459</span>&#160;<span class="comment">                if there is something another that means</span></div><div class="line"><a name="l02460"></a><span class="lineno"> 2460</span>&#160;<span class="comment">                we probably didn&#39;t close any of the &#39;first&#39; brackets</span></div><div class="line"><a name="l02461"></a><span class="lineno"> 2461</span>&#160;<span class="comment">            */</span></div><div class="line"><a name="l02462"></a><span class="lineno"> 2462</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_stack_not_clear );</div><div class="line"><a name="l02463"></a><span class="lineno"> 2463</span>&#160;        }</div><div class="line"><a name="l02464"></a><span class="lineno"> 2464</span>&#160;    }</div><div class="line"><a name="l02465"></a><span class="lineno"> 2465</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a72a419bd6ac1f3fb7093fff3372e5733"><div class="ttname"><a href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">ttmath::Parser::stack</a></div><div class="ttdeci">std::vector&lt; Item &gt; stack</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00318">ttmathparser.h:318</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ab0838f95cf21b1a36c1a7b564536f57e"><div class="ttname"><a href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">ttmath::Parser::stack_index</a></div><div class="ttdeci">unsigned int stack_index</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00338">ttmathparser.h:338</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a287b438ea218cec334a0ce0ad45a095c"><div class="ttname"><a href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">ttmath::Parser::Error</a></div><div class="ttdeci">static void Error(ErrorCode code)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00506">ttmathparser.h:506</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00506">ttmath::Parser&lt; ValueType &gt;::Error()</a>, <a class="el" href="ttmathparser_8h_source.html#l00318">ttmath::Parser&lt; ValueType &gt;::stack</a>, and <a class="el" href="ttmathparser_8h_source.html#l00338">ttmath::Parser&lt; ValueType &gt;::stack_index</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02472">ttmath::Parser&lt; ValueType &gt;::Parse()</a>.</p>

</div>
</div>
<a id="a64b0454eff0962d24da60cdec5e4d2fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64b0454eff0962d24da60cdec5e4d2fa">&#9670;&nbsp;</a></span>ConvertAngleToRad()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ValueType <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::ConvertAngleToRad </td>
          <td>(</td>
          <td class="paramtype">const ValueType &amp;&#160;</td>
          <td class="paramname"><em>input</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>wrappers for mathematic functions</p>
<p>'index' is pointing on the first argument on the stack, the second argument has 'index+1' and so on 'result' will be the result of the function</p>
<p>(we're using exceptions here for example when function gets an improper argument)</p>
<p>used by: sin,cos,tan,cot </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00777">777</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;{</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#aa6f18a437d2f8045746afe94f1ab4463">deg_rad_grad</a> == 1 ) <span class="comment">// rad</span></div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;        <span class="keywordflow">return</span> input;</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;</div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;    ValueType result;</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;    <a class="code" href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ErrorCode</a> err;</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#aa6f18a437d2f8045746afe94f1ab4463">deg_rad_grad</a> == 0 ) <span class="comment">// deg</span></div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;        result = <a class="code" href="namespacettmath.html#ac6aac6162783d4ad6c5d78729f7fd21c">ttmath::DegToRad</a>(input, &amp;err);</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;    <span class="keywordflow">else</span> <span class="comment">// grad</span></div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;        result = <a class="code" href="namespacettmath.html#a16791351b7f09a2500c3bbd767a6d074">ttmath::GradToRad</a>(input, &amp;err);</div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;</div><div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;    <span class="keywordflow">if</span>( err != err_ok )</div><div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err );</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;<span class="keywordflow">return</span> result;</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a287b438ea218cec334a0ce0ad45a095c"><div class="ttname"><a href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">ttmath::Parser::Error</a></div><div class="ttdeci">static void Error(ErrorCode code)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00506">ttmathparser.h:506</a></div></div>
<div class="ttc" id="namespacettmath_html_af99599ccaf4dc05cc3a74277f9579942"><div class="ttname"><a href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ttmath::ErrorCode</a></div><div class="ttdeci">ErrorCode</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00370">ttmathtypes.h:370</a></div></div>
<div class="ttc" id="namespacettmath_html_ac6aac6162783d4ad6c5d78729f7fd21c"><div class="ttname"><a href="namespacettmath.html#ac6aac6162783d4ad6c5d78729f7fd21c">ttmath::DegToRad</a></div><div class="ttdeci">ValueType DegToRad(const ValueType &amp;x, ErrorCode *err=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmath_8h_source.html#l01552">ttmath.h:1552</a></div></div>
<div class="ttc" id="namespacettmath_html_a16791351b7f09a2500c3bbd767a6d074"><div class="ttname"><a href="namespacettmath.html#a16791351b7f09a2500c3bbd767a6d074">ttmath::GradToRad</a></div><div class="ttdeci">ValueType GradToRad(const ValueType &amp;x, ErrorCode *err=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmath_8h_source.html#l01690">ttmath.h:1690</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_aa6f18a437d2f8045746afe94f1ab4463"><div class="ttname"><a href="classttmath_1_1_parser.html#aa6f18a437d2f8045746afe94f1ab4463">ttmath::Parser::deg_rad_grad</a></div><div class="ttdeci">int deg_rad_grad</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00366">ttmathparser.h:366</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00366">ttmath::Parser&lt; ValueType &gt;::deg_rad_grad</a>, <a class="el" href="ttmath_8h_source.html#l01552">ttmath::DegToRad()</a>, <a class="el" href="ttmathparser_8h_source.html#l00506">ttmath::Parser&lt; ValueType &gt;::Error()</a>, and <a class="el" href="ttmath_8h_source.html#l01690">ttmath::GradToRad()</a>.</p>

</div>
</div>
<a id="ad03b7255157b535d3a7ca04e96140f21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad03b7255157b535d3a7ca04e96140f21">&#9670;&nbsp;</a></span>ConvertRadToAngle()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ValueType <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::ConvertRadToAngle </td>
          <td>(</td>
          <td class="paramtype">const ValueType &amp;&#160;</td>
          <td class="paramname"><em>input</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>used by: asin,acos,atan,acot </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00800">800</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;{</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#aa6f18a437d2f8045746afe94f1ab4463">deg_rad_grad</a> == 1 ) <span class="comment">// rad</span></div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;        <span class="keywordflow">return</span> input;</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;</div><div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;    ValueType result;</div><div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;    <a class="code" href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ErrorCode</a> err;</div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;</div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#aa6f18a437d2f8045746afe94f1ab4463">deg_rad_grad</a> == 0 ) <span class="comment">// deg</span></div><div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;        result = <a class="code" href="namespacettmath.html#aa5ef6c79581805ee4c0bbfd731857511">ttmath::RadToDeg</a>(input, &amp;err);</div><div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;    <span class="keywordflow">else</span> <span class="comment">// grad</span></div><div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;        result = <a class="code" href="namespacettmath.html#a1a1aa0f61f5e74abf53c7b36cef77d75">ttmath::RadToGrad</a>(input, &amp;err);</div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;</div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;    <span class="keywordflow">if</span>( err != err_ok )</div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err );</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;<span class="keywordflow">return</span> result;</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;}</div><div class="ttc" id="namespacettmath_html_aa5ef6c79581805ee4c0bbfd731857511"><div class="ttname"><a href="namespacettmath.html#aa5ef6c79581805ee4c0bbfd731857511">ttmath::RadToDeg</a></div><div class="ttdeci">ValueType RadToDeg(const ValueType &amp;x, ErrorCode *err=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmath_8h_source.html#l01588">ttmath.h:1588</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a287b438ea218cec334a0ce0ad45a095c"><div class="ttname"><a href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">ttmath::Parser::Error</a></div><div class="ttdeci">static void Error(ErrorCode code)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00506">ttmathparser.h:506</a></div></div>
<div class="ttc" id="namespacettmath_html_a1a1aa0f61f5e74abf53c7b36cef77d75"><div class="ttname"><a href="namespacettmath.html#a1a1aa0f61f5e74abf53c7b36cef77d75">ttmath::RadToGrad</a></div><div class="ttdeci">ValueType RadToGrad(const ValueType &amp;x, ErrorCode *err=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmath_8h_source.html#l01726">ttmath.h:1726</a></div></div>
<div class="ttc" id="namespacettmath_html_af99599ccaf4dc05cc3a74277f9579942"><div class="ttname"><a href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ttmath::ErrorCode</a></div><div class="ttdeci">ErrorCode</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00370">ttmathtypes.h:370</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_aa6f18a437d2f8045746afe94f1ab4463"><div class="ttname"><a href="classttmath_1_1_parser.html#aa6f18a437d2f8045746afe94f1ab4463">ttmath::Parser::deg_rad_grad</a></div><div class="ttdeci">int deg_rad_grad</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00366">ttmathparser.h:366</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00366">ttmath::Parser&lt; ValueType &gt;::deg_rad_grad</a>, <a class="el" href="ttmathparser_8h_source.html#l00506">ttmath::Parser&lt; ValueType &gt;::Error()</a>, <a class="el" href="ttmath_8h_source.html#l01588">ttmath::RadToDeg()</a>, and <a class="el" href="ttmath_8h_source.html#l01726">ttmath::RadToGrad()</a>.</p>

</div>
</div>
<a id="a4b54db87b6f8bdca1b1ca4a6250d776b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b54db87b6f8bdca1b1ca4a6250d776b">&#9670;&nbsp;</a></span>CreateFunctionsTable()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::CreateFunctionsTable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method creates the table of functions </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l01655">1655</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160;{</div><div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;gamma&quot;</span>,      &amp;Parser&lt;ValueType&gt;::Gamma);</div><div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;factorial&quot;</span>,  &amp;<a class="code" href="classttmath_1_1_parser.html#a55eddaeb73de7ef25cf624d34d0cbf54">Parser&lt;ValueType&gt;::Factorial</a>);</div><div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;abs&quot;</span>,        &amp;Parser&lt;ValueType&gt;::Abs);</div><div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;sin&quot;</span>,        &amp;Parser&lt;ValueType&gt;::Sin);</div><div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;cos&quot;</span>,        &amp;Parser&lt;ValueType&gt;::Cos);</div><div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;tan&quot;</span>,        &amp;Parser&lt;ValueType&gt;::Tan);</div><div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;tg&quot;</span>,         &amp;Parser&lt;ValueType&gt;::Tan);</div><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;cot&quot;</span>,        &amp;Parser&lt;ValueType&gt;::Cot);</div><div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;ctg&quot;</span>,        &amp;Parser&lt;ValueType&gt;::Cot);</div><div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;int&quot;</span>,        &amp;Parser&lt;ValueType&gt;::Int);</div><div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;round&quot;</span>,      &amp;Parser&lt;ValueType&gt;::Round);</div><div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;ln&quot;</span>,         &amp;Parser&lt;ValueType&gt;::Ln);</div><div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;log&quot;</span>,        &amp;Parser&lt;ValueType&gt;::Log);</div><div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;exp&quot;</span>,        &amp;Parser&lt;ValueType&gt;::Exp);</div><div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;max&quot;</span>,        &amp;Parser&lt;ValueType&gt;::Max);</div><div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;min&quot;</span>,        &amp;Parser&lt;ValueType&gt;::Min);</div><div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;asin&quot;</span>,       &amp;Parser&lt;ValueType&gt;::ASin);</div><div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;acos&quot;</span>,       &amp;Parser&lt;ValueType&gt;::ACos);</div><div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;atan&quot;</span>,       &amp;Parser&lt;ValueType&gt;::ATan);</div><div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;atg&quot;</span>,        &amp;Parser&lt;ValueType&gt;::ATan);</div><div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;acot&quot;</span>,       &amp;Parser&lt;ValueType&gt;::ACot);</div><div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;actg&quot;</span>,       &amp;Parser&lt;ValueType&gt;::ACot);</div><div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;sgn&quot;</span>,        &amp;Parser&lt;ValueType&gt;::Sgn);</div><div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;mod&quot;</span>,        &amp;Parser&lt;ValueType&gt;::Mod);</div><div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;if&quot;</span>,         &amp;Parser&lt;ValueType&gt;::If);</div><div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;or&quot;</span>,         &amp;Parser&lt;ValueType&gt;::Or);</div><div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;and&quot;</span>,        &amp;Parser&lt;ValueType&gt;::And);</div><div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;not&quot;</span>,        &amp;Parser&lt;ValueType&gt;::Not);</div><div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;degtorad&quot;</span>,   &amp;Parser&lt;ValueType&gt;::DegToRad);</div><div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;radtodeg&quot;</span>,   &amp;Parser&lt;ValueType&gt;::RadToDeg);</div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;degtodeg&quot;</span>,   &amp;Parser&lt;ValueType&gt;::DegToDeg);</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;gradtorad&quot;</span>,  &amp;Parser&lt;ValueType&gt;::GradToRad);</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;radtograd&quot;</span>,  &amp;Parser&lt;ValueType&gt;::RadToGrad);</div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;degtograd&quot;</span>,  &amp;Parser&lt;ValueType&gt;::DegToGrad);</div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;gradtodeg&quot;</span>,  &amp;Parser&lt;ValueType&gt;::GradToDeg);</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;ceil&quot;</span>,       &amp;Parser&lt;ValueType&gt;::Ceil);</div><div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;floor&quot;</span>,      &amp;Parser&lt;ValueType&gt;::Floor);</div><div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;sqrt&quot;</span>,       &amp;Parser&lt;ValueType&gt;::Sqrt);</div><div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;sinh&quot;</span>,       &amp;Parser&lt;ValueType&gt;::Sinh);</div><div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;cosh&quot;</span>,       &amp;Parser&lt;ValueType&gt;::Cosh);</div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;tanh&quot;</span>,       &amp;Parser&lt;ValueType&gt;::Tanh);</div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;tgh&quot;</span>,        &amp;Parser&lt;ValueType&gt;::Tanh);</div><div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;coth&quot;</span>,       &amp;Parser&lt;ValueType&gt;::Coth);</div><div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;ctgh&quot;</span>,       &amp;Parser&lt;ValueType&gt;::Coth);</div><div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;root&quot;</span>,       &amp;Parser&lt;ValueType&gt;::Root);</div><div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;asinh&quot;</span>,      &amp;Parser&lt;ValueType&gt;::ASinh);</div><div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;acosh&quot;</span>,      &amp;Parser&lt;ValueType&gt;::ACosh);</div><div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;atanh&quot;</span>,      &amp;Parser&lt;ValueType&gt;::ATanh);</div><div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;atgh&quot;</span>,       &amp;Parser&lt;ValueType&gt;::ATanh);</div><div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;acoth&quot;</span>,      &amp;Parser&lt;ValueType&gt;::ACoth);</div><div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;actgh&quot;</span>,      &amp;Parser&lt;ValueType&gt;::ACoth);</div><div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;bitand&quot;</span>,     &amp;Parser&lt;ValueType&gt;::BitAnd);</div><div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;bitor&quot;</span>,      &amp;Parser&lt;ValueType&gt;::BitOr);</div><div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;bitxor&quot;</span>,     &amp;Parser&lt;ValueType&gt;::BitXor);</div><div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;band&quot;</span>,       &amp;Parser&lt;ValueType&gt;::BitAnd);</div><div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;bor&quot;</span>,        &amp;Parser&lt;ValueType&gt;::BitOr);</div><div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;bxor&quot;</span>,       &amp;Parser&lt;ValueType&gt;::BitXor);</div><div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;sum&quot;</span>,        &amp;Parser&lt;ValueType&gt;::Sum);</div><div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;avg&quot;</span>,        &amp;Parser&lt;ValueType&gt;::Avg);</div><div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">InsertFunctionToTable</a>(<span class="stringliteral">&quot;frac&quot;</span>,       &amp;Parser&lt;ValueType&gt;::Frac);</div><div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a2c4c8f0ff19d444901af404319fe5b64"><div class="ttname"><a href="classttmath_1_1_parser.html#a2c4c8f0ff19d444901af404319fe5b64">ttmath::Parser::InsertFunctionToTable</a></div><div class="ttdeci">void InsertFunctionToTable(const char *function_name, pfunction pf)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l01626">ttmathparser.h:1626</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a55eddaeb73de7ef25cf624d34d0cbf54"><div class="ttname"><a href="classttmath_1_1_parser.html#a55eddaeb73de7ef25cf624d34d0cbf54">ttmath::Parser::Factorial</a></div><div class="ttdeci">void Factorial(unsigned int index, int amount_of_args, ValueType &amp;result)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00838">ttmathparser.h:838</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l01626">ttmath::Parser&lt; ValueType &gt;::InsertFunctionToTable()</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02524">ttmath::Parser&lt; ValueType &gt;::Parser()</a>.</p>

</div>
</div>
<a id="a7ee2888839ec03789e898aee9d821710"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ee2888839ec03789e898aee9d821710">&#9670;&nbsp;</a></span>CreateMathematicalOperatorsTable()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::CreateMathematicalOperatorsTable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method creates the table of operators </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02008">2008</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>&#160;{</div><div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>&#160;    InsertOperatorToTable(<span class="stringliteral">&quot;||&quot;</span>, MatOperator::lor);</div><div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>&#160;    InsertOperatorToTable(<span class="stringliteral">&quot;&amp;&amp;&quot;</span>, MatOperator::land);</div><div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>&#160;    InsertOperatorToTable(<span class="stringliteral">&quot;!=&quot;</span>, MatOperator::neq);</div><div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>&#160;    InsertOperatorToTable(<span class="stringliteral">&quot;==&quot;</span>, MatOperator::eq);</div><div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>&#160;    InsertOperatorToTable(<span class="stringliteral">&quot;&gt;=&quot;</span>, MatOperator::get);</div><div class="line"><a name="l02015"></a><span class="lineno"> 2015</span>&#160;    InsertOperatorToTable(<span class="stringliteral">&quot;&lt;=&quot;</span>, MatOperator::let);</div><div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>&#160;    InsertOperatorToTable(<span class="stringliteral">&quot;&gt;&quot;</span>,  MatOperator::gt);</div><div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>&#160;    InsertOperatorToTable(<span class="stringliteral">&quot;&lt;&quot;</span>,  MatOperator::lt);</div><div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>&#160;    InsertOperatorToTable(<span class="stringliteral">&quot;-&quot;</span>,  MatOperator::sub);</div><div class="line"><a name="l02019"></a><span class="lineno"> 2019</span>&#160;    InsertOperatorToTable(<span class="stringliteral">&quot;+&quot;</span>,  MatOperator::add);</div><div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>&#160;    InsertOperatorToTable(<span class="stringliteral">&quot;/&quot;</span>,  MatOperator::div);</div><div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>&#160;    InsertOperatorToTable(<span class="stringliteral">&quot;*&quot;</span>,  MatOperator::mul);</div><div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>&#160;    InsertOperatorToTable(<span class="stringliteral">&quot;^&quot;</span>,  MatOperator::pow);</div><div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>&#160;    InsertOperatorToTable(<span class="stringliteral">&quot;=&quot;</span>,  MatOperator::assign);</div><div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>&#160;}</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02524">ttmath::Parser&lt; ValueType &gt;::Parser()</a>.</p>

</div>
</div>
<a id="a2f5d37108926bbd48d6490cab965e55e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f5d37108926bbd48d6490cab965e55e">&#9670;&nbsp;</a></span>CreateVariablesTable()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::CreateVariablesTable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method creates the table of variables </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l01723">1723</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160;{</div><div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#ac329d60740bc2bce20b46643194a680b">InsertVariableToTable</a>(<span class="stringliteral">&quot;pi&quot;</span>, &amp;ValueType::SetPi);</div><div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#ac329d60740bc2bce20b46643194a680b">InsertVariableToTable</a>(<span class="stringliteral">&quot;e&quot;</span>,  &amp;ValueType::SetE);</div><div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_ac329d60740bc2bce20b46643194a680b"><div class="ttname"><a href="classttmath_1_1_parser.html#ac329d60740bc2bce20b46643194a680b">ttmath::Parser::InsertVariableToTable</a></div><div class="ttdeci">void InsertVariableToTable(const char *variable_name, pfunction_var pf)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l01643">ttmathparser.h:1643</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l01643">ttmath::Parser&lt; ValueType &gt;::InsertVariableToTable()</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02524">ttmath::Parser&lt; ValueType &gt;::Parser()</a>.</p>

</div>
</div>
<a id="a3e22506cf1bb5af1e7af0aa138914eaa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e22506cf1bb5af1e7af0aa138914eaa">&#9670;&nbsp;</a></span>EnsurePlaceOnStack()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::EnsurePlaceOnStack </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>make sure there is a space for a new item at position stack_index </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00528">528</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;{</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a> &gt;= <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>.size() )</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;    {</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>.push_back(Item());</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;    }</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a72a419bd6ac1f3fb7093fff3372e5733"><div class="ttname"><a href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">ttmath::Parser::stack</a></div><div class="ttdeci">std::vector&lt; Item &gt; stack</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00318">ttmathparser.h:318</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ab0838f95cf21b1a36c1a7b564536f57e"><div class="ttname"><a href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">ttmath::Parser::stack_index</a></div><div class="ttdeci">unsigned int stack_index</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00338">ttmathparser.h:338</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00318">ttmath::Parser&lt; ValueType &gt;::stack</a>, and <a class="el" href="ttmathparser_8h_source.html#l00338">ttmath::Parser&lt; ValueType &gt;::stack_index</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l00540">ttmath::Parser&lt; ValueType &gt;::AddToStack()</a>.</p>

</div>
</div>
<a id="a287b438ea218cec334a0ce0ad45a095c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a287b438ea218cec334a0ce0ad45a095c">&#9670;&nbsp;</a></span>Error()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::Error </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ErrorCode</a>&#160;</td>
          <td class="paramname"><em>code</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>we're using this method for reporting an error </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00506">506</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;{</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;    <span class="keywordflow">throw</span> code;</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;}</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02451">ttmath::Parser&lt; ValueType &gt;::CheckStackIntegrity()</a>, <a class="el" href="ttmathparser_8h_source.html#l00777">ttmath::Parser&lt; ValueType &gt;::ConvertAngleToRad()</a>, <a class="el" href="ttmathparser_8h_source.html#l00800">ttmath::Parser&lt; ValueType &gt;::ConvertRadToAngle()</a>, <a class="el" href="ttmathparser_8h_source.html#l00838">ttmath::Parser&lt; ValueType &gt;::Factorial()</a>, <a class="el" href="ttmathparser_8h_source.html#l01545">ttmath::Parser&lt; ValueType &gt;::GetValueOfUserDefinedFunction()</a>, <a class="el" href="ttmathparser_8h_source.html#l00738">ttmath::Parser&lt; ValueType &gt;::GetValueOfVariable()</a>, <a class="el" href="ttmathparser_8h_source.html#l02341">ttmath::Parser&lt; ValueType &gt;::HowManyParameters()</a>, <a class="el" href="ttmathparser_8h_source.html#l02182">ttmath::Parser&lt; ValueType &gt;::MakeStandardMathematicOperation()</a>, <a class="el" href="ttmathparser_8h_source.html#l02084">ttmath::Parser&lt; ValueType &gt;::OperatorPercentage()</a>, <a class="el" href="ttmathparser_8h_source.html#l02472">ttmath::Parser&lt; ValueType &gt;::Parse()</a>, <a class="el" href="ttmathparser_8h_source.html#l02049">ttmath::Parser&lt; ValueType &gt;::ReadMathematicalOperator()</a>, <a class="el" href="ttmathparser_8h_source.html#l01839">ttmath::Parser&lt; ValueType &gt;::ReadValue()</a>, <a class="el" href="ttmathparser_8h_source.html#l01778">ttmath::Parser&lt; ValueType &gt;::ReadVariableOrFunction()</a>, <a class="el" href="ttmathparser_8h_source.html#l00652">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction()</a>, <a class="el" href="ttmathparser_8h_source.html#l00603">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction_CheckStopCondition()</a>, and <a class="el" href="ttmathparser_8h_source.html#l02376">ttmath::Parser&lt; ValueType &gt;::RollingUpFinalBracket()</a>.</p>

</div>
</div>
<a id="a55eddaeb73de7ef25cf624d34d0cbf54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55eddaeb73de7ef25cf624d34d0cbf54">&#9670;&nbsp;</a></span>Factorial()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::Factorial </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>amount_of_args</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ValueType &amp;&#160;</td>
          <td class="paramname"><em>result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>factorial result = 1 * 2 * 3 * 4 * .... * x </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00838">838</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;{</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;    <span class="keywordflow">if</span>( amount_of_args != 1 )</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_improper_amount_of_arguments );</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;    <a class="code" href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ErrorCode</a> err;</div><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;</div><div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;    result = <a class="code" href="namespacettmath.html#ae0a248c8618c9ac4e3edf6095fe31f92">ttmath::Factorial</a>(<a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[index].value, <a class="code" href="classttmath_1_1_parser.html#aa001fd6c5f232340b525edfd60b300a1">cgamma</a>, &amp;err, <a class="code" href="classttmath_1_1_parser.html#af29080fbcf2ab0de3122c8ba0d8f9f4e">pstop_calculating</a>);</div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;</div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;    <span class="keywordflow">if</span>(err != err_ok)</div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err );</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a72a419bd6ac1f3fb7093fff3372e5733"><div class="ttname"><a href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">ttmath::Parser::stack</a></div><div class="ttdeci">std::vector&lt; Item &gt; stack</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00318">ttmathparser.h:318</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a287b438ea218cec334a0ce0ad45a095c"><div class="ttname"><a href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">ttmath::Parser::Error</a></div><div class="ttdeci">static void Error(ErrorCode code)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00506">ttmathparser.h:506</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_af29080fbcf2ab0de3122c8ba0d8f9f4e"><div class="ttname"><a href="classttmath_1_1_parser.html#af29080fbcf2ab0de3122c8ba0d8f9f4e">ttmath::Parser::pstop_calculating</a></div><div class="ttdeci">const volatile StopCalculating * pstop_calculating</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00373">ttmathparser.h:373</a></div></div>
<div class="ttc" id="namespacettmath_html_af99599ccaf4dc05cc3a74277f9579942"><div class="ttname"><a href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ttmath::ErrorCode</a></div><div class="ttdeci">ErrorCode</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00370">ttmathtypes.h:370</a></div></div>
<div class="ttc" id="namespacettmath_html_ae0a248c8618c9ac4e3edf6095fe31f92"><div class="ttname"><a href="namespacettmath.html#ae0a248c8618c9ac4e3edf6095fe31f92">ttmath::Factorial</a></div><div class="ttdeci">ValueType Factorial(const ValueType &amp;x, CGamma&lt; ValueType &gt; &amp;cgamma, ErrorCode *err=0, const volatile StopCalculating *stop=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmath_8h_source.html#l02809">ttmath.h:2809</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_aa001fd6c5f232340b525edfd60b300a1"><div class="ttname"><a href="classttmath_1_1_parser.html#aa001fd6c5f232340b525edfd60b300a1">ttmath::Parser::cgamma</a></div><div class="ttdeci">CGamma&lt; ValueType &gt; cgamma</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00465">ttmathparser.h:465</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00465">ttmath::Parser&lt; ValueType &gt;::cgamma</a>, <a class="el" href="ttmathparser_8h_source.html#l00506">ttmath::Parser&lt; ValueType &gt;::Error()</a>, <a class="el" href="ttmath_8h_source.html#l02809">ttmath::Factorial()</a>, <a class="el" href="ttmathparser_8h_source.html#l00373">ttmath::Parser&lt; ValueType &gt;::pstop_calculating</a>, and <a class="el" href="ttmathparser_8h_source.html#l00318">ttmath::Parser&lt; ValueType &gt;::stack</a>.</p>

</div>
</div>
<a id="a65686050bfbb72c25d7ad204a5d4199f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65686050bfbb72c25d7ad204a5d4199f">&#9670;&nbsp;</a></span>GetValueOfFunctionLocalVariable()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::GetValueOfFunctionLocalVariable </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>variable_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ValueType &amp;&#160;</td>
          <td class="paramname"><em>result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method returns the value of a local variable of a function </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00716">716</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;{</div><div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;    <span class="keywordflow">if</span>( !<a class="code" href="classttmath_1_1_parser.html#ab24aedab3532054ce9375d1f9bd3acf2">pfunction_local_variables</a> )</div><div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;</div><div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;    <span class="keyword">typename</span> FunctionLocalVariables::const_iterator i = <a class="code" href="classttmath_1_1_parser.html#ab24aedab3532054ce9375d1f9bd3acf2">pfunction_local_variables</a>-&gt;find(variable_name);</div><div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;</div><div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;    <span class="keywordflow">if</span>( i == <a class="code" href="classttmath_1_1_parser.html#ab24aedab3532054ce9375d1f9bd3acf2">pfunction_local_variables</a>-&gt;end() )</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;</div><div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;    result = i-&gt;second;</div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;</div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;<span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_ab24aedab3532054ce9375d1f9bd3acf2"><div class="ttname"><a href="classttmath_1_1_parser.html#ab24aedab3532054ce9375d1f9bd3acf2">ttmath::Parser::pfunction_local_variables</a></div><div class="ttdeci">const FunctionLocalVariables * pfunction_local_variables</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00393">ttmathparser.h:393</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00393">ttmath::Parser&lt; ValueType &gt;::pfunction_local_variables</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l00738">ttmath::Parser&lt; ValueType &gt;::GetValueOfVariable()</a>.</p>

</div>
</div>
<a id="a921d42c66c4e4b5ad64f33ba83e28fc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a921d42c66c4e4b5ad64f33ba83e28fc2">&#9670;&nbsp;</a></span>GetValueOfUserDefinedFunction()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::GetValueOfUserDefinedFunction </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>function_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>amount_of_args</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method returns the value from a user-defined function</p>
<p>(look at the description in 'CallFunction(...)') </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l01545">1545</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160;{</div><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160;    <span class="keywordflow">if</span>( !<a class="code" href="classttmath_1_1_parser.html#aec0b31b5c38bc5a1fe63eac79b546915">puser_functions</a> )</div><div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160;</div><div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> * string_value;</div><div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160;    <span class="keywordtype">int</span> param;</div><div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160;</div><div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#aec0b31b5c38bc5a1fe63eac79b546915">puser_functions</a>-&gt;<a class="code" href="classttmath_1_1_objects.html#a34db71f17465316fb319074698032f46">GetValueAndParam</a>(function_name, &amp;string_value, &amp;param) != err_ok )</div><div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160;</div><div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160;    <span class="keywordflow">if</span>( param != amount_of_args )</div><div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_improper_amount_of_arguments );</div><div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160;</div><div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160;</div><div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160;    FunctionLocalVariables local_variables;</div><div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160;</div><div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160;    <span class="keywordflow">if</span>( amount_of_args &gt; 0 )</div><div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160;    {</div><div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160;        <span class="keywordtype">char</span> buffer[30];</div><div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160;</div><div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160;        <span class="comment">// x = x1</span></div><div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160;        buffer[0] = <span class="charliteral">&#39;x&#39;</span>;</div><div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160;        buffer[1] = 0;</div><div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160;        local_variables.insert( std::make_pair(buffer, <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[index].value) );</div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160;</div><div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160;        <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=0 ; i&lt;amount_of_args ; ++i)</div><div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160;        {</div><div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;            buffer[0] = <span class="charliteral">&#39;x&#39;</span>;</div><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#ac424ce08b262ccdeba19a842b448bd31">Sprintf</a>(buffer+1, i+1);</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160;            local_variables.insert( std::make_pair(buffer, <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[index + i].value) );</div><div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160;        }</div><div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160;    }</div><div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160;</div><div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[index-1].value = <a class="code" href="classttmath_1_1_parser.html#a5df6bd7cd01cdac05d28b7e30fdbcd34">RecurrenceParsingVariablesOrFunction</a>(<span class="keyword">false</span>, function_name, string_value, &amp;local_variables);</div><div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a8653b6bcfb38df599ae12072c6766f67">calculated</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;</div><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160;<span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_ac424ce08b262ccdeba19a842b448bd31"><div class="ttname"><a href="classttmath_1_1_parser.html#ac424ce08b262ccdeba19a842b448bd31">ttmath::Parser::Sprintf</a></div><div class="ttdeci">void Sprintf(char *buffer, int par)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l01516">ttmathparser.h:1516</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a72a419bd6ac1f3fb7093fff3372e5733"><div class="ttname"><a href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">ttmath::Parser::stack</a></div><div class="ttdeci">std::vector&lt; Item &gt; stack</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00318">ttmathparser.h:318</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a287b438ea218cec334a0ce0ad45a095c"><div class="ttname"><a href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">ttmath::Parser::Error</a></div><div class="ttdeci">static void Error(ErrorCode code)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00506">ttmathparser.h:506</a></div></div>
<div class="ttc" id="classttmath_1_1_objects_html_a34db71f17465316fb319074698032f46"><div class="ttname"><a href="classttmath_1_1_objects.html#a34db71f17465316fb319074698032f46">ttmath::Objects::GetValueAndParam</a></div><div class="ttdeci">ErrorCode GetValueAndParam(const std::string &amp;name, std::string &amp;value, int *param) const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathobjects_8h_source.html#l00478">ttmathobjects.h:478</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a8653b6bcfb38df599ae12072c6766f67"><div class="ttname"><a href="classttmath_1_1_parser.html#a8653b6bcfb38df599ae12072c6766f67">ttmath::Parser::calculated</a></div><div class="ttdeci">bool calculated</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00499">ttmathparser.h:499</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a5df6bd7cd01cdac05d28b7e30fdbcd34"><div class="ttname"><a href="classttmath_1_1_parser.html#a5df6bd7cd01cdac05d28b7e30fdbcd34">ttmath::Parser::RecurrenceParsingVariablesOrFunction</a></div><div class="ttdeci">ValueType RecurrenceParsingVariablesOrFunction(bool variable, const std::string &amp;name, const char *new_string, FunctionLocalVariables *local_variables=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00652">ttmathparser.h:652</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_aec0b31b5c38bc5a1fe63eac79b546915"><div class="ttname"><a href="classttmath_1_1_parser.html#aec0b31b5c38bc5a1fe63eac79b546915">ttmath::Parser::puser_functions</a></div><div class="ttdeci">const Objects * puser_functions</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00385">ttmathparser.h:385</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00499">ttmath::Parser&lt; ValueType &gt;::calculated</a>, <a class="el" href="ttmathparser_8h_source.html#l00506">ttmath::Parser&lt; ValueType &gt;::Error()</a>, <a class="el" href="ttmathobjects_8h_source.html#l00478">ttmath::Objects::GetValueAndParam()</a>, <a class="el" href="ttmathparser_8h_source.html#l00385">ttmath::Parser&lt; ValueType &gt;::puser_functions</a>, <a class="el" href="ttmathparser_8h_source.html#l00652">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction()</a>, <a class="el" href="ttmathparser_8h_source.html#l01516">ttmath::Parser&lt; ValueType &gt;::Sprintf()</a>, and <a class="el" href="ttmathparser_8h_source.html#l00318">ttmath::Parser&lt; ValueType &gt;::stack</a>.</p>

</div>
</div>
<a id="ae48001df619d10feedb5a15b086777d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae48001df619d10feedb5a15b086777d5">&#9670;&nbsp;</a></span>GetValueOfUserDefinedVariable()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::GetValueOfUserDefinedVariable </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>variable_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ValueType &amp;&#160;</td>
          <td class="paramname"><em>result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method returns the user-defined value of a variable </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00696">696</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;{</div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;    <span class="keywordflow">if</span>( !<a class="code" href="classttmath_1_1_parser.html#a2e259715db51746ab1b9f8a4d681a77f">puser_variables</a> )</div><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;</div><div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> * string_value;</div><div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#a2e259715db51746ab1b9f8a4d681a77f">puser_variables</a>-&gt;<a class="code" href="classttmath_1_1_objects.html#a28a854b19e90337e654a386f979661ae">GetValue</a>(variable_name, &amp;string_value) != err_ok )</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;</div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;    result = <a class="code" href="classttmath_1_1_parser.html#a5df6bd7cd01cdac05d28b7e30fdbcd34">RecurrenceParsingVariablesOrFunction</a>(<span class="keyword">true</span>, variable_name, string_value);</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a8653b6bcfb38df599ae12072c6766f67">calculated</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;<span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a2e259715db51746ab1b9f8a4d681a77f"><div class="ttname"><a href="classttmath_1_1_parser.html#a2e259715db51746ab1b9f8a4d681a77f">ttmath::Parser::puser_variables</a></div><div class="ttdeci">const Objects * puser_variables</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00380">ttmathparser.h:380</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a8653b6bcfb38df599ae12072c6766f67"><div class="ttname"><a href="classttmath_1_1_parser.html#a8653b6bcfb38df599ae12072c6766f67">ttmath::Parser::calculated</a></div><div class="ttdeci">bool calculated</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00499">ttmathparser.h:499</a></div></div>
<div class="ttc" id="classttmath_1_1_objects_html_a28a854b19e90337e654a386f979661ae"><div class="ttname"><a href="classttmath_1_1_objects.html#a28a854b19e90337e654a386f979661ae">ttmath::Objects::GetValue</a></div><div class="ttdeci">ErrorCode GetValue(const std::string &amp;name, std::string &amp;value) const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathobjects_8h_source.html#l00389">ttmathobjects.h:389</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a5df6bd7cd01cdac05d28b7e30fdbcd34"><div class="ttname"><a href="classttmath_1_1_parser.html#a5df6bd7cd01cdac05d28b7e30fdbcd34">ttmath::Parser::RecurrenceParsingVariablesOrFunction</a></div><div class="ttdeci">ValueType RecurrenceParsingVariablesOrFunction(bool variable, const std::string &amp;name, const char *new_string, FunctionLocalVariables *local_variables=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00652">ttmathparser.h:652</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00499">ttmath::Parser&lt; ValueType &gt;::calculated</a>, <a class="el" href="ttmathobjects_8h_source.html#l00389">ttmath::Objects::GetValue()</a>, <a class="el" href="ttmathparser_8h_source.html#l00380">ttmath::Parser&lt; ValueType &gt;::puser_variables</a>, and <a class="el" href="ttmathparser_8h_source.html#l00652">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction()</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l00738">ttmath::Parser&lt; ValueType &gt;::GetValueOfVariable()</a>.</p>

</div>
</div>
<a id="ad0a4a6b1ca66c064f9bfb882537de35a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0a4a6b1ca66c064f9bfb882537de35a">&#9670;&nbsp;</a></span>GetValueOfVariable()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual ValueType <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::GetValueOfVariable </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>variable_name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method returns the value of a variable from variables' table</p>
<p>we make an object of type ValueType then call a method which sets the correct value in it and finally we'll return the object </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00738">738</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;{</div><div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;ValueType result;</div><div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;</div><div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#a65686050bfbb72c25d7ad204a5d4199f">GetValueOfFunctionLocalVariable</a>(variable_name, result) )</div><div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;</div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#ae48001df619d10feedb5a15b086777d5">GetValueOfUserDefinedVariable</a>(variable_name, result) )</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;</div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;    <span class="keyword">typename</span> std::map&lt;std::string, pfunction_var&gt;::iterator i =</div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;                                                    variables_table.find(variable_name);</div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;</div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;    <span class="keywordflow">if</span>( i == variables_table.end() )</div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_unknown_variable );</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;</div><div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;    (result.*(i-&gt;second))();</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a8653b6bcfb38df599ae12072c6766f67">calculated</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;<span class="keywordflow">return</span> result;</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a287b438ea218cec334a0ce0ad45a095c"><div class="ttname"><a href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">ttmath::Parser::Error</a></div><div class="ttdeci">static void Error(ErrorCode code)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00506">ttmathparser.h:506</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a8653b6bcfb38df599ae12072c6766f67"><div class="ttname"><a href="classttmath_1_1_parser.html#a8653b6bcfb38df599ae12072c6766f67">ttmath::Parser::calculated</a></div><div class="ttdeci">bool calculated</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00499">ttmathparser.h:499</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a65686050bfbb72c25d7ad204a5d4199f"><div class="ttname"><a href="classttmath_1_1_parser.html#a65686050bfbb72c25d7ad204a5d4199f">ttmath::Parser::GetValueOfFunctionLocalVariable</a></div><div class="ttdeci">bool GetValueOfFunctionLocalVariable(const std::string &amp;variable_name, ValueType &amp;result)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00716">ttmathparser.h:716</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ae48001df619d10feedb5a15b086777d5"><div class="ttname"><a href="classttmath_1_1_parser.html#ae48001df619d10feedb5a15b086777d5">ttmath::Parser::GetValueOfUserDefinedVariable</a></div><div class="ttdeci">bool GetValueOfUserDefinedVariable(const std::string &amp;variable_name, ValueType &amp;result)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00696">ttmathparser.h:696</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00499">ttmath::Parser&lt; ValueType &gt;::calculated</a>, <a class="el" href="ttmathparser_8h_source.html#l00506">ttmath::Parser&lt; ValueType &gt;::Error()</a>, <a class="el" href="ttmathparser_8h_source.html#l00716">ttmath::Parser&lt; ValueType &gt;::GetValueOfFunctionLocalVariable()</a>, and <a class="el" href="ttmathparser_8h_source.html#l00696">ttmath::Parser&lt; ValueType &gt;::GetValueOfUserDefinedVariable()</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l01778">ttmath::Parser&lt; ValueType &gt;::ReadVariableOrFunction()</a>.</p>

</div>
</div>
<a id="ad4b47a52abc190792054af7b3e2c2475"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4b47a52abc190792054af7b3e2c2475">&#9670;&nbsp;</a></span>HowManyParameters()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::HowManyParameters </td>
          <td>(</td>
          <td class="paramtype">unsigned int &amp;&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int &amp;&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method calculate how many parameters there are on the stack and the index of the first parameter</p>
<p>if there are no parameters on the stack this method returns 'size' equals zero and 'index' pointing after the first bracket (on non-existend element) </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02341">2341</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02342"></a><span class="lineno"> 2342</span>&#160;{</div><div class="line"><a name="l02343"></a><span class="lineno"> 2343</span>&#160;    size  = 0;</div><div class="line"><a name="l02344"></a><span class="lineno"> 2344</span>&#160;    index = <a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>;</div><div class="line"><a name="l02345"></a><span class="lineno"> 2345</span>&#160;</div><div class="line"><a name="l02346"></a><span class="lineno"> 2346</span>&#160;    <span class="keywordflow">for</span>( ; index &gt; 0 &amp;&amp; <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[index-1].type != Item::first_bracket ; --index )</div><div class="line"><a name="l02347"></a><span class="lineno"> 2347</span>&#160;    {</div><div class="line"><a name="l02348"></a><span class="lineno"> 2348</span>&#160;        <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[index-1].type != Item::numerical_value )</div><div class="line"><a name="l02349"></a><span class="lineno"> 2349</span>&#160;        {</div><div class="line"><a name="l02350"></a><span class="lineno"> 2350</span>&#160;            <span class="comment">/*</span></div><div class="line"><a name="l02351"></a><span class="lineno"> 2351</span>&#160;<span class="comment">                this element must be &#39;numerical_value&#39;, if not that means </span></div><div class="line"><a name="l02352"></a><span class="lineno"> 2352</span>&#160;<span class="comment">                there&#39;s an error in our algorithm</span></div><div class="line"><a name="l02353"></a><span class="lineno"> 2353</span>&#160;<span class="comment">            */</span></div><div class="line"><a name="l02354"></a><span class="lineno"> 2354</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_internal_error );</div><div class="line"><a name="l02355"></a><span class="lineno"> 2355</span>&#160;        }</div><div class="line"><a name="l02356"></a><span class="lineno"> 2356</span>&#160;</div><div class="line"><a name="l02357"></a><span class="lineno"> 2357</span>&#160;        ++size;</div><div class="line"><a name="l02358"></a><span class="lineno"> 2358</span>&#160;    }</div><div class="line"><a name="l02359"></a><span class="lineno"> 2359</span>&#160;</div><div class="line"><a name="l02360"></a><span class="lineno"> 2360</span>&#160;    <span class="keywordflow">if</span>( index&lt;1 || <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[index-1].type != Item::first_bracket )</div><div class="line"><a name="l02361"></a><span class="lineno"> 2361</span>&#160;    {</div><div class="line"><a name="l02362"></a><span class="lineno"> 2362</span>&#160;        <span class="comment">/*</span></div><div class="line"><a name="l02363"></a><span class="lineno"> 2363</span>&#160;<span class="comment">            we haven&#39;t put a first bracket on the stack</span></div><div class="line"><a name="l02364"></a><span class="lineno"> 2364</span>&#160;<span class="comment">        */</span></div><div class="line"><a name="l02365"></a><span class="lineno"> 2365</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_unexpected_final_bracket );</div><div class="line"><a name="l02366"></a><span class="lineno"> 2366</span>&#160;    }</div><div class="line"><a name="l02367"></a><span class="lineno"> 2367</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a72a419bd6ac1f3fb7093fff3372e5733"><div class="ttname"><a href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">ttmath::Parser::stack</a></div><div class="ttdeci">std::vector&lt; Item &gt; stack</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00318">ttmathparser.h:318</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ab0838f95cf21b1a36c1a7b564536f57e"><div class="ttname"><a href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">ttmath::Parser::stack_index</a></div><div class="ttdeci">unsigned int stack_index</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00338">ttmathparser.h:338</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a287b438ea218cec334a0ce0ad45a095c"><div class="ttname"><a href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">ttmath::Parser::Error</a></div><div class="ttdeci">static void Error(ErrorCode code)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00506">ttmathparser.h:506</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00506">ttmath::Parser&lt; ValueType &gt;::Error()</a>, <a class="el" href="ttmathparser_8h_source.html#l00318">ttmath::Parser&lt; ValueType &gt;::stack</a>, and <a class="el" href="ttmathparser_8h_source.html#l00338">ttmath::Parser&lt; ValueType &gt;::stack_index</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02376">ttmath::Parser&lt; ValueType &gt;::RollingUpFinalBracket()</a>.</p>

</div>
</div>
<a id="a8badf1dfca214d77d99c2ee62c0325b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8badf1dfca214d77d99c2ee62c0325b6">&#9670;&nbsp;</a></span>InitCGamma()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::InitCGamma </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>initializing coefficients used when calculating the gamma (or factorial) function this speed up the next calculations you don't have to call this method explicitly these coefficients will be calculated when needed </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02769">2769</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02770"></a><span class="lineno"> 2770</span>&#160;{</div><div class="line"><a name="l02771"></a><span class="lineno"> 2771</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#aa001fd6c5f232340b525edfd60b300a1">cgamma</a>.InitAll();</div><div class="line"><a name="l02772"></a><span class="lineno"> 2772</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_aa001fd6c5f232340b525edfd60b300a1"><div class="ttname"><a href="classttmath_1_1_parser.html#aa001fd6c5f232340b525edfd60b300a1">ttmath::Parser::cgamma</a></div><div class="ttdeci">CGamma&lt; ValueType &gt; cgamma</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00465">ttmathparser.h:465</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00465">ttmath::Parser&lt; ValueType &gt;::cgamma</a>.</p>

</div>
</div>
<a id="a2c4c8f0ff19d444901af404319fe5b64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c4c8f0ff19d444901af404319fe5b64">&#9670;&nbsp;</a></span>InsertFunctionToTable()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::InsertFunctionToTable </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>function_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_parser.html#adfbbff19cb3f920b450fd5e9581c8c33">pfunction</a>&#160;</td>
          <td class="paramname"><em>pf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>inserting a function to the functions' table</p>
<p>function_name - name of the function pf - pointer to the function (to the wrapper) </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l01626">1626</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160;{</div><div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160;    std::string str;</div><div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160;    <a class="code" href="classttmath_1_1_misc.html#a77a225d405c1f54c28dfca566c486232">Misc::AssignString</a>(str, function_name);</div><div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160;</div><div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160;    functions_table.insert( std::make_pair(str, pf) );</div><div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160;}</div><div class="ttc" id="classttmath_1_1_misc_html_a77a225d405c1f54c28dfca566c486232"><div class="ttname"><a href="classttmath_1_1_misc.html#a77a225d405c1f54c28dfca566c486232">ttmath::Misc::AssignString</a></div><div class="ttdeci">static void AssignString(std::string &amp;result, const char *str)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathmisc_8h_source.html#l00072">ttmathmisc.h:72</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathmisc_8h_source.html#l00072">ttmath::Misc::AssignString()</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l01655">ttmath::Parser&lt; ValueType &gt;::CreateFunctionsTable()</a>.</p>

</div>
</div>
<a id="ac329d60740bc2bce20b46643194a680b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac329d60740bc2bce20b46643194a680b">&#9670;&nbsp;</a></span>InsertVariableToTable()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::InsertVariableToTable </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>variable_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_parser.html#a4359c79a148bbac45a4c123094d1769c">pfunction_var</a>&#160;</td>
          <td class="paramname"><em>pf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>inserting a function to the variables' table (this function returns value of variable)</p>
<p>variable_name - name of the function pf - pointer to the function </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l01643">1643</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160;{</div><div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160;    std::string str;</div><div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160;    <a class="code" href="classttmath_1_1_misc.html#a77a225d405c1f54c28dfca566c486232">Misc::AssignString</a>(str, variable_name);</div><div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160;</div><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160;    variables_table.insert( std::make_pair(str, pf) );</div><div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160;}</div><div class="ttc" id="classttmath_1_1_misc_html_a77a225d405c1f54c28dfca566c486232"><div class="ttname"><a href="classttmath_1_1_misc.html#a77a225d405c1f54c28dfca566c486232">ttmath::Misc::AssignString</a></div><div class="ttdeci">static void AssignString(std::string &amp;result, const char *str)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathmisc_8h_source.html#l00072">ttmathmisc.h:72</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathmisc_8h_source.html#l00072">ttmath::Misc::AssignString()</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l01723">ttmath::Parser&lt; ValueType &gt;::CreateVariablesTable()</a>.</p>

</div>
</div>
<a id="a545e4369237366fad4a82073653986a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a545e4369237366fad4a82073653986a2">&#9670;&nbsp;</a></span>IsSubstring()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::IsSubstring </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>short_str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>long_str</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>returns true if 'short_str' is the substring of long_str</p>
<p>e.g. true when short_str="te" and long_str="test" </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02033">2033</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>&#160;{</div><div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>&#160;    <span class="keywordflow">if</span>( short_str.length() &gt; long_str.length() )</div><div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160;</div><div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>&#160;    <span class="keywordflow">for</span>(<span class="keyword">typename</span> std::string::size_type i=0 ; i&lt;short_str.length() ; ++i)</div><div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>&#160;        <span class="keywordflow">if</span>( short_str[i] != long_str[i] )</div><div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160;</div><div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160;<span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>&#160;}</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02049">ttmath::Parser&lt; ValueType &gt;::ReadMathematicalOperator()</a>.</p>

</div>
</div>
<a id="ad6f8e9d667bd6bf9ebf3ad3a4b91ad69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6f8e9d667bd6bf9ebf3ad3a4b91ad69">&#9670;&nbsp;</a></span>IsValidNameCharacter()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::IsValidNameCharacter </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>return true if c is a valid function or variable name character </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l01747">1747</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160;{</div><div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160;    <span class="keywordflow">return</span>( (c&gt;=<span class="charliteral">&#39;a&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;z&#39;</span>) ||</div><div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160;            (c&gt;=<span class="charliteral">&#39;A&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;Z&#39;</span>) ||</div><div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160;            (c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;9&#39;</span>) ||</div><div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160;            c==<span class="charliteral">&#39;_&#39;</span> );</div><div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160;}</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l01760">ttmath::Parser&lt; ValueType &gt;::ReadName()</a>.</p>

</div>
</div>
<a id="a85ed041b22886865ca08db963b680797"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85ed041b22886865ca08db963b680797">&#9670;&nbsp;</a></span>MakeStandardMathematicOperation()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::MakeStandardMathematicOperation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structttmath_1_1_parser_1_1_item.html">Item</a> &amp;&#160;</td>
          <td class="paramname"><em>item1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename MatOperator::Type&#160;</td>
          <td class="paramname"><em>mat_operator</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structttmath_1_1_parser_1_1_item.html">Item</a> &amp;&#160;</td>
          <td class="paramname"><em>item2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method is making the standard mathematic operation like '-' '+' '*' '/' and '^'</p>
<p>the operation is made between 'value1' and 'value2' the result of this operation is stored in the 'value1' </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02182">2182</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02183"></a><span class="lineno"> 2183</span>&#160;{</div><div class="line"><a name="l02184"></a><span class="lineno"> 2184</span>&#160;<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> res;</div><div class="line"><a name="l02185"></a><span class="lineno"> 2185</span>&#160;</div><div class="line"><a name="l02186"></a><span class="lineno"> 2186</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a8653b6bcfb38df599ae12072c6766f67">calculated</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l02187"></a><span class="lineno"> 2187</span>&#160;    ValueType &amp; value1  = item1.value;</div><div class="line"><a name="l02188"></a><span class="lineno"> 2188</span>&#160;    <span class="keyword">const</span> ValueType &amp; value2 = item2.value;</div><div class="line"><a name="l02189"></a><span class="lineno"> 2189</span>&#160;</div><div class="line"><a name="l02190"></a><span class="lineno"> 2190</span>&#160;    <span class="keywordflow">switch</span>( mat_operator )</div><div class="line"><a name="l02191"></a><span class="lineno"> 2191</span>&#160;    {</div><div class="line"><a name="l02192"></a><span class="lineno"> 2192</span>&#160;    <span class="keywordflow">case</span> MatOperator::land:</div><div class="line"><a name="l02193"></a><span class="lineno"> 2193</span>&#160;        (!value1.IsZero() &amp;&amp; !value2.IsZero()) ? value1.SetOne() : value1.SetZero();</div><div class="line"><a name="l02194"></a><span class="lineno"> 2194</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l02195"></a><span class="lineno"> 2195</span>&#160;</div><div class="line"><a name="l02196"></a><span class="lineno"> 2196</span>&#160;    <span class="keywordflow">case</span> MatOperator::lor:</div><div class="line"><a name="l02197"></a><span class="lineno"> 2197</span>&#160;        (!value1.IsZero() || !value2.IsZero()) ? value1.SetOne() : value1.SetZero();</div><div class="line"><a name="l02198"></a><span class="lineno"> 2198</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l02199"></a><span class="lineno"> 2199</span>&#160;</div><div class="line"><a name="l02200"></a><span class="lineno"> 2200</span>&#160;    <span class="keywordflow">case</span> MatOperator::eq:</div><div class="line"><a name="l02201"></a><span class="lineno"> 2201</span>&#160;        (value1 == value2) ? value1.SetOne() : value1.SetZero();</div><div class="line"><a name="l02202"></a><span class="lineno"> 2202</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l02203"></a><span class="lineno"> 2203</span>&#160;</div><div class="line"><a name="l02204"></a><span class="lineno"> 2204</span>&#160;    <span class="keywordflow">case</span> MatOperator::neq:</div><div class="line"><a name="l02205"></a><span class="lineno"> 2205</span>&#160;        (value1 != value2) ? value1.SetOne() : value1.SetZero();</div><div class="line"><a name="l02206"></a><span class="lineno"> 2206</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l02207"></a><span class="lineno"> 2207</span>&#160;</div><div class="line"><a name="l02208"></a><span class="lineno"> 2208</span>&#160;    <span class="keywordflow">case</span> MatOperator::lt:</div><div class="line"><a name="l02209"></a><span class="lineno"> 2209</span>&#160;        (value1 &lt; value2) ? value1.SetOne() : value1.SetZero();</div><div class="line"><a name="l02210"></a><span class="lineno"> 2210</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l02211"></a><span class="lineno"> 2211</span>&#160;</div><div class="line"><a name="l02212"></a><span class="lineno"> 2212</span>&#160;    <span class="keywordflow">case</span> MatOperator::gt:</div><div class="line"><a name="l02213"></a><span class="lineno"> 2213</span>&#160;        (value1 &gt; value2) ? value1.SetOne() : value1.SetZero();</div><div class="line"><a name="l02214"></a><span class="lineno"> 2214</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l02215"></a><span class="lineno"> 2215</span>&#160;</div><div class="line"><a name="l02216"></a><span class="lineno"> 2216</span>&#160;    <span class="keywordflow">case</span> MatOperator::let:</div><div class="line"><a name="l02217"></a><span class="lineno"> 2217</span>&#160;        (value1 &lt;= value2) ? value1.SetOne() : value1.SetZero();</div><div class="line"><a name="l02218"></a><span class="lineno"> 2218</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l02219"></a><span class="lineno"> 2219</span>&#160;</div><div class="line"><a name="l02220"></a><span class="lineno"> 2220</span>&#160;    <span class="keywordflow">case</span> MatOperator::get:</div><div class="line"><a name="l02221"></a><span class="lineno"> 2221</span>&#160;        (value1 &gt;= value2) ? value1.SetOne() : value1.SetZero();</div><div class="line"><a name="l02222"></a><span class="lineno"> 2222</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l02223"></a><span class="lineno"> 2223</span>&#160;</div><div class="line"><a name="l02224"></a><span class="lineno"> 2224</span>&#160;    <span class="keywordflow">case</span> MatOperator::sub:</div><div class="line"><a name="l02225"></a><span class="lineno"> 2225</span>&#160;        <span class="keywordflow">if</span>( value1.Sub(value2) ) <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_overflow );</div><div class="line"><a name="l02226"></a><span class="lineno"> 2226</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l02227"></a><span class="lineno"> 2227</span>&#160;</div><div class="line"><a name="l02228"></a><span class="lineno"> 2228</span>&#160;    <span class="keywordflow">case</span> MatOperator::add:</div><div class="line"><a name="l02229"></a><span class="lineno"> 2229</span>&#160;        <span class="keywordflow">if</span>( value1.Add(value2) ) <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_overflow );</div><div class="line"><a name="l02230"></a><span class="lineno"> 2230</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l02231"></a><span class="lineno"> 2231</span>&#160;</div><div class="line"><a name="l02232"></a><span class="lineno"> 2232</span>&#160;    <span class="keywordflow">case</span> MatOperator::mul:</div><div class="line"><a name="l02233"></a><span class="lineno"> 2233</span>&#160;    <span class="keywordflow">case</span> MatOperator::shortmul:</div><div class="line"><a name="l02234"></a><span class="lineno"> 2234</span>&#160;        <span class="keywordflow">if</span>( value1.Mul(value2) ) <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_overflow );</div><div class="line"><a name="l02235"></a><span class="lineno"> 2235</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l02236"></a><span class="lineno"> 2236</span>&#160;</div><div class="line"><a name="l02237"></a><span class="lineno"> 2237</span>&#160;    <span class="keywordflow">case</span> MatOperator::div:</div><div class="line"><a name="l02238"></a><span class="lineno"> 2238</span>&#160;        <span class="keywordflow">if</span>( value2.IsZero() )    <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_division_by_zero );</div><div class="line"><a name="l02239"></a><span class="lineno"> 2239</span>&#160;        <span class="keywordflow">if</span>( value1.Div(value2) ) <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_overflow );</div><div class="line"><a name="l02240"></a><span class="lineno"> 2240</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l02241"></a><span class="lineno"> 2241</span>&#160;</div><div class="line"><a name="l02242"></a><span class="lineno"> 2242</span>&#160;    <span class="keywordflow">case</span> MatOperator::pow:</div><div class="line"><a name="l02243"></a><span class="lineno"> 2243</span>&#160;        res = value1.Pow( value2 );</div><div class="line"><a name="l02244"></a><span class="lineno"> 2244</span>&#160;</div><div class="line"><a name="l02245"></a><span class="lineno"> 2245</span>&#160;        <span class="keywordflow">if</span>( res == 1 ) <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_overflow );</div><div class="line"><a name="l02246"></a><span class="lineno"> 2246</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02247"></a><span class="lineno"> 2247</span>&#160;        <span class="keywordflow">if</span>( res == 2 ) <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_improper_argument );</div><div class="line"><a name="l02248"></a><span class="lineno"> 2248</span>&#160;</div><div class="line"><a name="l02249"></a><span class="lineno"> 2249</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l02250"></a><span class="lineno"> 2250</span>&#160;</div><div class="line"><a name="l02251"></a><span class="lineno"> 2251</span>&#160;    <span class="keywordflow">default</span>:</div><div class="line"><a name="l02252"></a><span class="lineno"> 2252</span>&#160;        <span class="comment">/*</span></div><div class="line"><a name="l02253"></a><span class="lineno"> 2253</span>&#160;<span class="comment">            on the stack left an unknown operator but we had to recognize its before</span></div><div class="line"><a name="l02254"></a><span class="lineno"> 2254</span>&#160;<span class="comment">            that means there&#39;s an error in our algorithm</span></div><div class="line"><a name="l02255"></a><span class="lineno"> 2255</span>&#160;<span class="comment">        */</span></div><div class="line"><a name="l02256"></a><span class="lineno"> 2256</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_internal_error );</div><div class="line"><a name="l02257"></a><span class="lineno"> 2257</span>&#160;    }</div><div class="line"><a name="l02258"></a><span class="lineno"> 2258</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a287b438ea218cec334a0ce0ad45a095c"><div class="ttname"><a href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">ttmath::Parser::Error</a></div><div class="ttdeci">static void Error(ErrorCode code)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00506">ttmathparser.h:506</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a8653b6bcfb38df599ae12072c6766f67"><div class="ttname"><a href="classttmath_1_1_parser.html#a8653b6bcfb38df599ae12072c6766f67">ttmath::Parser::calculated</a></div><div class="ttdeci">bool calculated</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00499">ttmathparser.h:499</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00499">ttmath::Parser&lt; ValueType &gt;::calculated</a>, and <a class="el" href="ttmathparser_8h_source.html#l00506">ttmath::Parser&lt; ValueType &gt;::Error()</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02316">ttmath::Parser&lt; ValueType &gt;::RollUPStack()</a>, and <a class="el" href="ttmathparser_8h_source.html#l02275">ttmath::Parser&lt; ValueType &gt;::RollUpStackWithOperatorsPriority()</a>.</p>

</div>
</div>
<a id="a87b11a1ae9b51f97fdc5661fa65290a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87b11a1ae9b51f97fdc5661fa65290a8">&#9670;&nbsp;</a></span>NormalizeStack()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::NormalizeStack </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method is called at the end of the parsing process </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02501">2501</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02502"></a><span class="lineno"> 2502</span>&#160;{</div><div class="line"><a name="l02503"></a><span class="lineno"> 2503</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#a49910610d53c11e2113bb55fb59f53ab">error</a>!=err_ok || <a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>==0 )</div><div class="line"><a name="l02504"></a><span class="lineno"> 2504</span>&#160;    {</div><div class="line"><a name="l02505"></a><span class="lineno"> 2505</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>.clear();</div><div class="line"><a name="l02506"></a><span class="lineno"> 2506</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l02507"></a><span class="lineno"> 2507</span>&#160;    }</div><div class="line"><a name="l02508"></a><span class="lineno"> 2508</span>&#160;    </div><div class="line"><a name="l02509"></a><span class="lineno"> 2509</span>&#160;    <span class="comment">/*</span></div><div class="line"><a name="l02510"></a><span class="lineno"> 2510</span>&#160;<span class="comment">        &#39;stack_index&#39; tell us how many elements there are on the stack,</span></div><div class="line"><a name="l02511"></a><span class="lineno"> 2511</span>&#160;<span class="comment">        we must resize the stack now because &#39;stack_index&#39; is using only for parsing</span></div><div class="line"><a name="l02512"></a><span class="lineno"> 2512</span>&#160;<span class="comment">        and stack has more (or equal) elements than value of &#39;stack_index&#39;</span></div><div class="line"><a name="l02513"></a><span class="lineno"> 2513</span>&#160;<span class="comment">    */</span></div><div class="line"><a name="l02514"></a><span class="lineno"> 2514</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>.resize( <a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a> );</div><div class="line"><a name="l02515"></a><span class="lineno"> 2515</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a72a419bd6ac1f3fb7093fff3372e5733"><div class="ttname"><a href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">ttmath::Parser::stack</a></div><div class="ttdeci">std::vector&lt; Item &gt; stack</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00318">ttmathparser.h:318</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ab0838f95cf21b1a36c1a7b564536f57e"><div class="ttname"><a href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">ttmath::Parser::stack_index</a></div><div class="ttdeci">unsigned int stack_index</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00338">ttmathparser.h:338</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a49910610d53c11e2113bb55fb59f53ab"><div class="ttname"><a href="classttmath_1_1_parser.html#a49910610d53c11e2113bb55fb59f53ab">ttmath::Parser::error</a></div><div class="ttdeci">ErrorCode error</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00344">ttmathparser.h:344</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00344">ttmath::Parser&lt; ValueType &gt;::error</a>, <a class="el" href="ttmathparser_8h_source.html#l00318">ttmath::Parser&lt; ValueType &gt;::stack</a>, and <a class="el" href="ttmathparser_8h_source.html#l00338">ttmath::Parser&lt; ValueType &gt;::stack_index</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02688">ttmath::Parser&lt; ValueType &gt;::Parse()</a>.</p>

</div>
</div>
<a id="a41a4855309aab5f868bc568699bc9024"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a41a4855309aab5f868bc568699bc9024">&#9670;&nbsp;</a></span>operator=()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_parser.html">Parser</a>&lt;ValueType&gt;&amp; <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_parser.html">Parser</a>&lt; ValueType &gt; &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>the assignment operator </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02547">2547</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02548"></a><span class="lineno"> 2548</span>&#160;{</div><div class="line"><a name="l02549"></a><span class="lineno"> 2549</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#af29080fbcf2ab0de3122c8ba0d8f9f4e">pstop_calculating</a> = p.pstop_calculating;</div><div class="line"><a name="l02550"></a><span class="lineno"> 2550</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2e259715db51746ab1b9f8a4d681a77f">puser_variables</a>   = p.puser_variables;</div><div class="line"><a name="l02551"></a><span class="lineno"> 2551</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#aec0b31b5c38bc5a1fe63eac79b546915">puser_functions</a>   = p.puser_functions;</div><div class="line"><a name="l02552"></a><span class="lineno"> 2552</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#ab24aedab3532054ce9375d1f9bd3acf2">pfunction_local_variables</a> = 0;</div><div class="line"><a name="l02553"></a><span class="lineno"> 2553</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#ac6f8c51fe4be9827470e4d5106709919">base</a>              = p.base;</div><div class="line"><a name="l02554"></a><span class="lineno"> 2554</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#aa6f18a437d2f8045746afe94f1ab4463">deg_rad_grad</a>      = p.deg_rad_grad;</div><div class="line"><a name="l02555"></a><span class="lineno"> 2555</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a49910610d53c11e2113bb55fb59f53ab">error</a>             = p.error;</div><div class="line"><a name="l02556"></a><span class="lineno"> 2556</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#aa9cce071c7b302a768acbab99016d6e3">group</a>             = p.group;</div><div class="line"><a name="l02557"></a><span class="lineno"> 2557</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a8c57cceddcb884aa0aaa2db745470e9d">comma</a>             = p.comma;</div><div class="line"><a name="l02558"></a><span class="lineno"> 2558</span>&#160;    comma2            = p.comma2;</div><div class="line"><a name="l02559"></a><span class="lineno"> 2559</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a09545024c0b0a862429a54bf8a460d1c">param_sep</a>         = p.param_sep;</div><div class="line"><a name="l02560"></a><span class="lineno"> 2560</span>&#160;</div><div class="line"><a name="l02561"></a><span class="lineno"> 2561</span>&#160;    <span class="comment">/*</span></div><div class="line"><a name="l02562"></a><span class="lineno"> 2562</span>&#160;<span class="comment">        we don&#39;t have to call &#39;CreateFunctionsTable()&#39; etc.</span></div><div class="line"><a name="l02563"></a><span class="lineno"> 2563</span>&#160;<span class="comment">        we can only copy these tables</span></div><div class="line"><a name="l02564"></a><span class="lineno"> 2564</span>&#160;<span class="comment">    */</span></div><div class="line"><a name="l02565"></a><span class="lineno"> 2565</span>&#160;    functions_table   = p.functions_table;</div><div class="line"><a name="l02566"></a><span class="lineno"> 2566</span>&#160;    variables_table   = p.variables_table;</div><div class="line"><a name="l02567"></a><span class="lineno"> 2567</span>&#160;    operators_table   = p.operators_table;</div><div class="line"><a name="l02568"></a><span class="lineno"> 2568</span>&#160;</div><div class="line"><a name="l02569"></a><span class="lineno"> 2569</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#aab98ce9b1914a61ecb54e5ace8f7f7f5">visited_variables</a> = p.visited_variables;</div><div class="line"><a name="l02570"></a><span class="lineno"> 2570</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a77a65a6e909069850b51d5ce42781e6e">visited_functions</a> = p.visited_functions;</div><div class="line"><a name="l02571"></a><span class="lineno"> 2571</span>&#160;</div><div class="line"><a name="l02572"></a><span class="lineno"> 2572</span>&#160;<span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l02573"></a><span class="lineno"> 2573</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_ab24aedab3532054ce9375d1f9bd3acf2"><div class="ttname"><a href="classttmath_1_1_parser.html#ab24aedab3532054ce9375d1f9bd3acf2">ttmath::Parser::pfunction_local_variables</a></div><div class="ttdeci">const FunctionLocalVariables * pfunction_local_variables</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00393">ttmathparser.h:393</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ac6f8c51fe4be9827470e4d5106709919"><div class="ttname"><a href="classttmath_1_1_parser.html#ac6f8c51fe4be9827470e4d5106709919">ttmath::Parser::base</a></div><div class="ttdeci">int base</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00357">ttmathparser.h:357</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a8c57cceddcb884aa0aaa2db745470e9d"><div class="ttname"><a href="classttmath_1_1_parser.html#a8c57cceddcb884aa0aaa2db745470e9d">ttmath::Parser::comma</a></div><div class="ttdeci">int comma</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00486">ttmathparser.h:486</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a2e259715db51746ab1b9f8a4d681a77f"><div class="ttname"><a href="classttmath_1_1_parser.html#a2e259715db51746ab1b9f8a4d681a77f">ttmath::Parser::puser_variables</a></div><div class="ttdeci">const Objects * puser_variables</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00380">ttmathparser.h:380</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_af29080fbcf2ab0de3122c8ba0d8f9f4e"><div class="ttname"><a href="classttmath_1_1_parser.html#af29080fbcf2ab0de3122c8ba0d8f9f4e">ttmath::Parser::pstop_calculating</a></div><div class="ttdeci">const volatile StopCalculating * pstop_calculating</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00373">ttmathparser.h:373</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a77a65a6e909069850b51d5ce42781e6e"><div class="ttname"><a href="classttmath_1_1_parser.html#a77a65a6e909069850b51d5ce42781e6e">ttmath::Parser::visited_functions</a></div><div class="ttdeci">std::set&lt; std::string &gt; visited_functions</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00405">ttmathparser.h:405</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_aab98ce9b1914a61ecb54e5ace8f7f7f5"><div class="ttname"><a href="classttmath_1_1_parser.html#aab98ce9b1914a61ecb54e5ace8f7f7f5">ttmath::Parser::visited_variables</a></div><div class="ttdeci">std::set&lt; std::string &gt; visited_variables</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00399">ttmathparser.h:399</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a49910610d53c11e2113bb55fb59f53ab"><div class="ttname"><a href="classttmath_1_1_parser.html#a49910610d53c11e2113bb55fb59f53ab">ttmath::Parser::error</a></div><div class="ttdeci">ErrorCode error</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00344">ttmathparser.h:344</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_aa6f18a437d2f8045746afe94f1ab4463"><div class="ttname"><a href="classttmath_1_1_parser.html#aa6f18a437d2f8045746afe94f1ab4463">ttmath::Parser::deg_rad_grad</a></div><div class="ttdeci">int deg_rad_grad</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00366">ttmathparser.h:366</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_aa9cce071c7b302a768acbab99016d6e3"><div class="ttname"><a href="classttmath_1_1_parser.html#aa9cce071c7b302a768acbab99016d6e3">ttmath::Parser::group</a></div><div class="ttdeci">int group</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00478">ttmathparser.h:478</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_aec0b31b5c38bc5a1fe63eac79b546915"><div class="ttname"><a href="classttmath_1_1_parser.html#aec0b31b5c38bc5a1fe63eac79b546915">ttmath::Parser::puser_functions</a></div><div class="ttdeci">const Objects * puser_functions</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00385">ttmathparser.h:385</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a09545024c0b0a862429a54bf8a460d1c"><div class="ttname"><a href="classttmath_1_1_parser.html#a09545024c0b0a862429a54bf8a460d1c">ttmath::Parser::param_sep</a></div><div class="ttdeci">int param_sep</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00493">ttmathparser.h:493</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00357">ttmath::Parser&lt; ValueType &gt;::base</a>, <a class="el" href="ttmathparser_8h_source.html#l00486">ttmath::Parser&lt; ValueType &gt;::comma</a>, <a class="el" href="ttmathparser_8h_source.html#l00366">ttmath::Parser&lt; ValueType &gt;::deg_rad_grad</a>, <a class="el" href="ttmathparser_8h_source.html#l00344">ttmath::Parser&lt; ValueType &gt;::error</a>, <a class="el" href="ttmathparser_8h_source.html#l00478">ttmath::Parser&lt; ValueType &gt;::group</a>, <a class="el" href="ttmathparser_8h_source.html#l00493">ttmath::Parser&lt; ValueType &gt;::param_sep</a>, <a class="el" href="ttmathparser_8h_source.html#l00393">ttmath::Parser&lt; ValueType &gt;::pfunction_local_variables</a>, <a class="el" href="ttmathparser_8h_source.html#l00373">ttmath::Parser&lt; ValueType &gt;::pstop_calculating</a>, <a class="el" href="ttmathparser_8h_source.html#l00385">ttmath::Parser&lt; ValueType &gt;::puser_functions</a>, <a class="el" href="ttmathparser_8h_source.html#l00380">ttmath::Parser&lt; ValueType &gt;::puser_variables</a>, <a class="el" href="ttmathparser_8h_source.html#l00405">ttmath::Parser&lt; ValueType &gt;::visited_functions</a>, and <a class="el" href="ttmathparser_8h_source.html#l00399">ttmath::Parser&lt; ValueType &gt;::visited_variables</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02588">ttmath::Parser&lt; ValueType &gt;::Parser()</a>.</p>

</div>
</div>
<a id="af4448a43025c9183b50bd7b4de5ee42a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4448a43025c9183b50bd7b4de5ee42a">&#9670;&nbsp;</a></span>OperatorPercentage()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::OperatorPercentage </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method makes a calculation for the percentage operator e.g. 1000-50% = 1000-(1000*0,5) = 500 </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02084">2084</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>&#160;{</div><div class="line"><a name="l02086"></a><span class="lineno"> 2086</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a> &lt; 3                                     ||</div><div class="line"><a name="l02087"></a><span class="lineno"> 2087</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-1].type != Item::numerical_value  ||</div><div class="line"><a name="l02088"></a><span class="lineno"> 2088</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-2].type != Item::mat_operator     ||</div><div class="line"><a name="l02089"></a><span class="lineno"> 2089</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-3].type != Item::numerical_value  )</div><div class="line"><a name="l02090"></a><span class="lineno"> 2090</span>&#160;    {</div><div class="line"><a name="l02091"></a><span class="lineno"> 2091</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_percent_from );</div><div class="line"><a name="l02092"></a><span class="lineno"> 2092</span>&#160;    }</div><div class="line"><a name="l02093"></a><span class="lineno"> 2093</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l02094"></a><span class="lineno"> 2094</span>&#160;    {</div><div class="line"><a name="l02095"></a><span class="lineno"> 2095</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c = 0;</div><div class="line"><a name="l02096"></a><span class="lineno"> 2096</span>&#160;        c += <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-1].value.Div(100);</div><div class="line"><a name="l02097"></a><span class="lineno"> 2097</span>&#160;        c += <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-1].value.Mul(<a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-3].value);</div><div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>&#160;</div><div class="line"><a name="l02099"></a><span class="lineno"> 2099</span>&#160;        <span class="keywordflow">if</span>( c )</div><div class="line"><a name="l02100"></a><span class="lineno"> 2100</span>&#160;        {</div><div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_overflow );</div><div class="line"><a name="l02102"></a><span class="lineno"> 2102</span>&#160;        }</div><div class="line"><a name="l02103"></a><span class="lineno"> 2103</span>&#160;    }</div><div class="line"><a name="l02104"></a><span class="lineno"> 2104</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a72a419bd6ac1f3fb7093fff3372e5733"><div class="ttname"><a href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">ttmath::Parser::stack</a></div><div class="ttdeci">std::vector&lt; Item &gt; stack</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00318">ttmathparser.h:318</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ab0838f95cf21b1a36c1a7b564536f57e"><div class="ttname"><a href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">ttmath::Parser::stack_index</a></div><div class="ttdeci">unsigned int stack_index</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00338">ttmathparser.h:338</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a287b438ea218cec334a0ce0ad45a095c"><div class="ttname"><a href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">ttmath::Parser::Error</a></div><div class="ttdeci">static void Error(ErrorCode code)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00506">ttmathparser.h:506</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00506">ttmath::Parser&lt; ValueType &gt;::Error()</a>, <a class="el" href="ttmathparser_8h_source.html#l00318">ttmath::Parser&lt; ValueType &gt;::stack</a>, and <a class="el" href="ttmathparser_8h_source.html#l00338">ttmath::Parser&lt; ValueType &gt;::stack_index</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02114">ttmath::Parser&lt; ValueType &gt;::ReadOperator()</a>.</p>

</div>
</div>
<a id="a9ff995ad169145f2262f87eb289a30a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ff995ad169145f2262f87eb289a30a7">&#9670;&nbsp;</a></span>Parse() <span class="overload">[1/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::Parse </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the main loop of parsing </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02472">2472</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02473"></a><span class="lineno"> 2473</span>&#160;{</div><div class="line"><a name="l02474"></a><span class="lineno"> 2474</span>&#160;    <span class="keywordflow">while</span>( *<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a> )</div><div class="line"><a name="l02475"></a><span class="lineno"> 2475</span>&#160;    {</div><div class="line"><a name="l02476"></a><span class="lineno"> 2476</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span> * old_pstring = <a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>;</div><div class="line"><a name="l02477"></a><span class="lineno"> 2477</span>&#160;</div><div class="line"><a name="l02478"></a><span class="lineno"> 2478</span>&#160;        <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#af29080fbcf2ab0de3122c8ba0d8f9f4e">pstop_calculating</a> &amp;&amp; <a class="code" href="classttmath_1_1_parser.html#af29080fbcf2ab0de3122c8ba0d8f9f4e">pstop_calculating</a>-&gt;WasStopSignal() )</div><div class="line"><a name="l02479"></a><span class="lineno"> 2479</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_interrupt );</div><div class="line"><a name="l02480"></a><span class="lineno"> 2480</span>&#160;</div><div class="line"><a name="l02481"></a><span class="lineno"> 2481</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a7c3c3ef62114d8e521874d5ca47b4485">ReadTokens</a>();</div><div class="line"><a name="l02482"></a><span class="lineno"> 2482</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#adab2410fd0ff79bcbbbffbb253b68754">ReadOperators</a>();</div><div class="line"><a name="l02483"></a><span class="lineno"> 2483</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#ad2fa94d01e5ff215c7de9fd3568c4687">RollUpStackWithOperatorsPriority</a>();</div><div class="line"><a name="l02484"></a><span class="lineno"> 2484</span>&#160;</div><div class="line"><a name="l02485"></a><span class="lineno"> 2485</span>&#160;        <span class="keywordflow">if</span>( old_pstring == <a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a> )</div><div class="line"><a name="l02486"></a><span class="lineno"> 2486</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_internal_error ); <span class="comment">// pstring should be incremented in ReadTokens() or ReadOperators()</span></div><div class="line"><a name="l02487"></a><span class="lineno"> 2487</span>&#160;    }</div><div class="line"><a name="l02488"></a><span class="lineno"> 2488</span>&#160;</div><div class="line"><a name="l02489"></a><span class="lineno"> 2489</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a> == 0 )</div><div class="line"><a name="l02490"></a><span class="lineno"> 2490</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_nothing_has_read );</div><div class="line"><a name="l02491"></a><span class="lineno"> 2491</span>&#160;</div><div class="line"><a name="l02492"></a><span class="lineno"> 2492</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a3d1c1c1ba9a2947925391623b8e28667">RollUPStack</a>();</div><div class="line"><a name="l02493"></a><span class="lineno"> 2493</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a0b827e8e885c0d2c25a2c4e3868c9942">CheckStackIntegrity</a>();</div><div class="line"><a name="l02494"></a><span class="lineno"> 2494</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a1a1cefe27be9fd9890edc90409fe5587"><div class="ttname"><a href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">ttmath::Parser::pstring</a></div><div class="ttdeci">const char * pstring</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00351">ttmathparser.h:351</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a7c3c3ef62114d8e521874d5ca47b4485"><div class="ttname"><a href="classttmath_1_1_parser.html#a7c3c3ef62114d8e521874d5ca47b4485">ttmath::Parser::ReadTokens</a></div><div class="ttdeci">virtual void ReadTokens()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l01983">ttmathparser.h:1983</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ab0838f95cf21b1a36c1a7b564536f57e"><div class="ttname"><a href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">ttmath::Parser::stack_index</a></div><div class="ttdeci">unsigned int stack_index</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00338">ttmathparser.h:338</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a287b438ea218cec334a0ce0ad45a095c"><div class="ttname"><a href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">ttmath::Parser::Error</a></div><div class="ttdeci">static void Error(ErrorCode code)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00506">ttmathparser.h:506</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a3d1c1c1ba9a2947925391623b8e28667"><div class="ttname"><a href="classttmath_1_1_parser.html#a3d1c1c1ba9a2947925391623b8e28667">ttmath::Parser::RollUPStack</a></div><div class="ttdeci">void RollUPStack()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02316">ttmathparser.h:2316</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_af29080fbcf2ab0de3122c8ba0d8f9f4e"><div class="ttname"><a href="classttmath_1_1_parser.html#af29080fbcf2ab0de3122c8ba0d8f9f4e">ttmath::Parser::pstop_calculating</a></div><div class="ttdeci">const volatile StopCalculating * pstop_calculating</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00373">ttmathparser.h:373</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_adab2410fd0ff79bcbbbffbb253b68754"><div class="ttname"><a href="classttmath_1_1_parser.html#adab2410fd0ff79bcbbbffbb253b68754">ttmath::Parser::ReadOperators</a></div><div class="ttdeci">virtual void ReadOperators()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02158">ttmathparser.h:2158</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ad2fa94d01e5ff215c7de9fd3568c4687"><div class="ttname"><a href="classttmath_1_1_parser.html#ad2fa94d01e5ff215c7de9fd3568c4687">ttmath::Parser::RollUpStackWithOperatorsPriority</a></div><div class="ttdeci">void RollUpStackWithOperatorsPriority()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02275">ttmathparser.h:2275</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a0b827e8e885c0d2c25a2c4e3868c9942"><div class="ttname"><a href="classttmath_1_1_parser.html#a0b827e8e885c0d2c25a2c4e3868c9942">ttmath::Parser::CheckStackIntegrity</a></div><div class="ttdeci">virtual void CheckStackIntegrity()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02451">ttmathparser.h:2451</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l02451">ttmath::Parser&lt; ValueType &gt;::CheckStackIntegrity()</a>, <a class="el" href="ttmathparser_8h_source.html#l00506">ttmath::Parser&lt; ValueType &gt;::Error()</a>, <a class="el" href="ttmathparser_8h_source.html#l00373">ttmath::Parser&lt; ValueType &gt;::pstop_calculating</a>, <a class="el" href="ttmathparser_8h_source.html#l00351">ttmath::Parser&lt; ValueType &gt;::pstring</a>, <a class="el" href="ttmathparser_8h_source.html#l02158">ttmath::Parser&lt; ValueType &gt;::ReadOperators()</a>, <a class="el" href="ttmathparser_8h_source.html#l01983">ttmath::Parser&lt; ValueType &gt;::ReadTokens()</a>, <a class="el" href="ttmathparser_8h_source.html#l02316">ttmath::Parser&lt; ValueType &gt;::RollUPStack()</a>, <a class="el" href="ttmathparser_8h_source.html#l02275">ttmath::Parser&lt; ValueType &gt;::RollUpStackWithOperatorsPriority()</a>, and <a class="el" href="ttmathparser_8h_source.html#l00338">ttmath::Parser&lt; ValueType &gt;::stack_index</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02688">ttmath::Parser&lt; ValueType &gt;::Parse()</a>, and <a class="el" href="ttmathparser_8h_source.html#l00652">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction()</a>.</p>

</div>
</div>
<a id="a0c89d1d8b8282a9be886be17a1d4a28a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c89d1d8b8282a9be886be17a1d4a28a">&#9670;&nbsp;</a></span>Parse() <span class="overload">[2/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ErrorCode</a> <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::Parse </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>the main method using for parsing string </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02688">2688</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02689"></a><span class="lineno"> 2689</span>&#160;{</div><div class="line"><a name="l02690"></a><span class="lineno"> 2690</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>  = 0;</div><div class="line"><a name="l02691"></a><span class="lineno"> 2691</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>      = str;</div><div class="line"><a name="l02692"></a><span class="lineno"> 2692</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a49910610d53c11e2113bb55fb59f53ab">error</a>        = err_ok;</div><div class="line"><a name="l02693"></a><span class="lineno"> 2693</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a8653b6bcfb38df599ae12072c6766f67">calculated</a>   = <span class="keyword">false</span>;</div><div class="line"><a name="l02694"></a><span class="lineno"> 2694</span>&#160;</div><div class="line"><a name="l02695"></a><span class="lineno"> 2695</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l02696"></a><span class="lineno"> 2696</span>&#160;    {</div><div class="line"><a name="l02697"></a><span class="lineno"> 2697</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>.resize(<a class="code" href="classttmath_1_1_parser.html#a96797a7951ba063108cf37cdab6d3970">default_stack_size</a>);</div><div class="line"><a name="l02698"></a><span class="lineno"> 2698</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a9ff995ad169145f2262f87eb289a30a7">Parse</a>();</div><div class="line"><a name="l02699"></a><span class="lineno"> 2699</span>&#160;    }</div><div class="line"><a name="l02700"></a><span class="lineno"> 2700</span>&#160;    <span class="keywordflow">catch</span>(<a class="code" href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ErrorCode</a> c)</div><div class="line"><a name="l02701"></a><span class="lineno"> 2701</span>&#160;    {</div><div class="line"><a name="l02702"></a><span class="lineno"> 2702</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a49910610d53c11e2113bb55fb59f53ab">error</a> = c;</div><div class="line"><a name="l02703"></a><span class="lineno"> 2703</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a8653b6bcfb38df599ae12072c6766f67">calculated</a> = <span class="keyword">false</span>;</div><div class="line"><a name="l02704"></a><span class="lineno"> 2704</span>&#160;    }</div><div class="line"><a name="l02705"></a><span class="lineno"> 2705</span>&#160;</div><div class="line"><a name="l02706"></a><span class="lineno"> 2706</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a87b11a1ae9b51f97fdc5661fa65290a8">NormalizeStack</a>();</div><div class="line"><a name="l02707"></a><span class="lineno"> 2707</span>&#160;</div><div class="line"><a name="l02708"></a><span class="lineno"> 2708</span>&#160;<span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_parser.html#a49910610d53c11e2113bb55fb59f53ab">error</a>;</div><div class="line"><a name="l02709"></a><span class="lineno"> 2709</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a9ff995ad169145f2262f87eb289a30a7"><div class="ttname"><a href="classttmath_1_1_parser.html#a9ff995ad169145f2262f87eb289a30a7">ttmath::Parser::Parse</a></div><div class="ttdeci">virtual void Parse()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02472">ttmathparser.h:2472</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a1a1cefe27be9fd9890edc90409fe5587"><div class="ttname"><a href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">ttmath::Parser::pstring</a></div><div class="ttdeci">const char * pstring</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00351">ttmathparser.h:351</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a72a419bd6ac1f3fb7093fff3372e5733"><div class="ttname"><a href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">ttmath::Parser::stack</a></div><div class="ttdeci">std::vector&lt; Item &gt; stack</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00318">ttmathparser.h:318</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ab0838f95cf21b1a36c1a7b564536f57e"><div class="ttname"><a href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">ttmath::Parser::stack_index</a></div><div class="ttdeci">unsigned int stack_index</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00338">ttmathparser.h:338</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a96797a7951ba063108cf37cdab6d3970"><div class="ttname"><a href="classttmath_1_1_parser.html#a96797a7951ba063108cf37cdab6d3970">ttmath::Parser::default_stack_size</a></div><div class="ttdeci">const int default_stack_size</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00329">ttmathparser.h:329</a></div></div>
<div class="ttc" id="namespacettmath_html_af99599ccaf4dc05cc3a74277f9579942"><div class="ttname"><a href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ttmath::ErrorCode</a></div><div class="ttdeci">ErrorCode</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00370">ttmathtypes.h:370</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a8653b6bcfb38df599ae12072c6766f67"><div class="ttname"><a href="classttmath_1_1_parser.html#a8653b6bcfb38df599ae12072c6766f67">ttmath::Parser::calculated</a></div><div class="ttdeci">bool calculated</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00499">ttmathparser.h:499</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a49910610d53c11e2113bb55fb59f53ab"><div class="ttname"><a href="classttmath_1_1_parser.html#a49910610d53c11e2113bb55fb59f53ab">ttmath::Parser::error</a></div><div class="ttdeci">ErrorCode error</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00344">ttmathparser.h:344</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a87b11a1ae9b51f97fdc5661fa65290a8"><div class="ttname"><a href="classttmath_1_1_parser.html#a87b11a1ae9b51f97fdc5661fa65290a8">ttmath::Parser::NormalizeStack</a></div><div class="ttdeci">void NormalizeStack()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02501">ttmathparser.h:2501</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00499">ttmath::Parser&lt; ValueType &gt;::calculated</a>, <a class="el" href="ttmathparser_8h_source.html#l00329">ttmath::Parser&lt; ValueType &gt;::default_stack_size</a>, <a class="el" href="ttmathparser_8h_source.html#l00344">ttmath::Parser&lt; ValueType &gt;::error</a>, <a class="el" href="ttmathparser_8h_source.html#l02501">ttmath::Parser&lt; ValueType &gt;::NormalizeStack()</a>, <a class="el" href="ttmathparser_8h_source.html#l02472">ttmath::Parser&lt; ValueType &gt;::Parse()</a>, <a class="el" href="ttmathparser_8h_source.html#l00351">ttmath::Parser&lt; ValueType &gt;::pstring</a>, <a class="el" href="ttmathparser_8h_source.html#l00318">ttmath::Parser&lt; ValueType &gt;::stack</a>, and <a class="el" href="ttmathparser_8h_source.html#l00338">ttmath::Parser&lt; ValueType &gt;::stack_index</a>.</p>

</div>
</div>
<a id="a751dca867115029ed5dc943efabb681d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a751dca867115029ed5dc943efabb681d">&#9670;&nbsp;</a></span>Parse() <span class="overload">[3/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ErrorCode</a> <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::Parse </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>the main method using for parsing string </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02715">2715</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02716"></a><span class="lineno"> 2716</span>&#160;{</div><div class="line"><a name="l02717"></a><span class="lineno"> 2717</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_parser.html#a9ff995ad169145f2262f87eb289a30a7">Parse</a>(str.c_str());</div><div class="line"><a name="l02718"></a><span class="lineno"> 2718</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a9ff995ad169145f2262f87eb289a30a7"><div class="ttname"><a href="classttmath_1_1_parser.html#a9ff995ad169145f2262f87eb289a30a7">ttmath::Parser::Parse</a></div><div class="ttdeci">virtual void Parse()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02472">ttmathparser.h:2472</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l02472">ttmath::Parser&lt; ValueType &gt;::Parse()</a>.</p>

</div>
</div>
<a id="a34659fc61a34a0b6753a57ffd5a5183b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34659fc61a34a0b6753a57ffd5a5183b">&#9670;&nbsp;</a></span>Parse() <span class="overload">[4/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ErrorCode</a> <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::Parse </td>
          <td>(</td>
          <td class="paramtype">const wchar_t *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>the main method using for parsing string </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02726">2726</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02727"></a><span class="lineno"> 2727</span>&#160;{</div><div class="line"><a name="l02728"></a><span class="lineno"> 2728</span>&#160;    <a class="code" href="classttmath_1_1_misc.html#a77a225d405c1f54c28dfca566c486232">Misc::AssignString</a>(<a class="code" href="classttmath_1_1_parser.html#a00714e1d43b44bfa704446df504baec3">wide_to_ansi</a>, str);</div><div class="line"><a name="l02729"></a><span class="lineno"> 2729</span>&#160;</div><div class="line"><a name="l02730"></a><span class="lineno"> 2730</span>&#160;<span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_parser.html#a9ff995ad169145f2262f87eb289a30a7">Parse</a>(<a class="code" href="classttmath_1_1_parser.html#a00714e1d43b44bfa704446df504baec3">wide_to_ansi</a>.c_str());</div><div class="line"><a name="l02731"></a><span class="lineno"> 2731</span>&#160;</div><div class="line"><a name="l02732"></a><span class="lineno"> 2732</span>&#160;    <span class="comment">// !! wide_to_ansi clearing can be added here</span></div><div class="line"><a name="l02733"></a><span class="lineno"> 2733</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a9ff995ad169145f2262f87eb289a30a7"><div class="ttname"><a href="classttmath_1_1_parser.html#a9ff995ad169145f2262f87eb289a30a7">ttmath::Parser::Parse</a></div><div class="ttdeci">virtual void Parse()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02472">ttmathparser.h:2472</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a00714e1d43b44bfa704446df504baec3"><div class="ttname"><a href="classttmath_1_1_parser.html#a00714e1d43b44bfa704446df504baec3">ttmath::Parser::wide_to_ansi</a></div><div class="ttdeci">std::string wide_to_ansi</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00471">ttmathparser.h:471</a></div></div>
<div class="ttc" id="classttmath_1_1_misc_html_a77a225d405c1f54c28dfca566c486232"><div class="ttname"><a href="classttmath_1_1_misc.html#a77a225d405c1f54c28dfca566c486232">ttmath::Misc::AssignString</a></div><div class="ttdeci">static void AssignString(std::string &amp;result, const char *str)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathmisc_8h_source.html#l00072">ttmathmisc.h:72</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathmisc_8h_source.html#l00072">ttmath::Misc::AssignString()</a>, <a class="el" href="ttmathparser_8h_source.html#l02472">ttmath::Parser&lt; ValueType &gt;::Parse()</a>, and <a class="el" href="ttmathparser_8h_source.html#l00471">ttmath::Parser&lt; ValueType &gt;::wide_to_ansi</a>.</p>

</div>
</div>
<a id="a6fe09488a65473c66de3a8594dea1b25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fe09488a65473c66de3a8594dea1b25">&#9670;&nbsp;</a></span>Parse() <span class="overload">[5/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ErrorCode</a> <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::Parse </td>
          <td>(</td>
          <td class="paramtype">const std::wstring &amp;&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>the main method using for parsing string </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02739">2739</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02740"></a><span class="lineno"> 2740</span>&#160;{</div><div class="line"><a name="l02741"></a><span class="lineno"> 2741</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_parser.html#a9ff995ad169145f2262f87eb289a30a7">Parse</a>(str.c_str());</div><div class="line"><a name="l02742"></a><span class="lineno"> 2742</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a9ff995ad169145f2262f87eb289a30a7"><div class="ttname"><a href="classttmath_1_1_parser.html#a9ff995ad169145f2262f87eb289a30a7">ttmath::Parser::Parse</a></div><div class="ttdeci">virtual void Parse()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02472">ttmathparser.h:2472</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l02472">ttmath::Parser&lt; ValueType &gt;::Parse()</a>.</p>

</div>
</div>
<a id="ab85f94b933780473488a3965a81f8a13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab85f94b933780473488a3965a81f8a13">&#9670;&nbsp;</a></span>ReadMathematicalOperator()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::ReadMathematicalOperator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method reads a mathematical (or logical) operator </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02049">2049</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160;{</div><div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>&#160;std::string oper;</div><div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160;<span class="keyword">typename</span> OperatorsTable::iterator iter_old, iter_new;</div><div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>&#160;</div><div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>&#160;    iter_old = operators_table.end();</div><div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>&#160;</div><div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>&#160;    <span class="keywordflow">for</span>( ; true ; ++<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a> )</div><div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>&#160;    {</div><div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>&#160;        oper += *<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>;</div><div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>&#160;        iter_new = operators_table.lower_bound(oper);</div><div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160;        </div><div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>&#160;        <span class="keywordflow">if</span>( iter_new == operators_table.end() || !<a class="code" href="classttmath_1_1_parser.html#a545e4369237366fad4a82073653986a2">IsSubstring</a>(oper, iter_new-&gt;first) )</div><div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>&#160;        {</div><div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>&#160;            oper.erase(oper.begin() + oper.size() - 1); <span class="comment">// we&#39;ve got minimum one element</span></div><div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>&#160;</div><div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>&#160;            <span class="keywordflow">if</span>( iter_old != operators_table.end() &amp;&amp; iter_old-&gt;first == oper )</div><div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>&#160;            {</div><div class="line"><a name="l02067"></a><span class="lineno"> 2067</span>&#160;                <a class="code" href="classttmath_1_1_parser.html#a830a829f2be4355de6ba61b73c9502d2">AddToStack</a>(iter_old-&gt;second);</div><div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02069"></a><span class="lineno"> 2069</span>&#160;            }</div><div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>&#160;            </div><div class="line"><a name="l02071"></a><span class="lineno"> 2071</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_unknown_operator );</div><div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>&#160;        }</div><div class="line"><a name="l02073"></a><span class="lineno"> 2073</span>&#160;    </div><div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>&#160;        iter_old = iter_new;</div><div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>&#160;    }</div><div class="line"><a name="l02076"></a><span class="lineno"> 2076</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a1a1cefe27be9fd9890edc90409fe5587"><div class="ttname"><a href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">ttmath::Parser::pstring</a></div><div class="ttdeci">const char * pstring</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00351">ttmathparser.h:351</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a830a829f2be4355de6ba61b73c9502d2"><div class="ttname"><a href="classttmath_1_1_parser.html#a830a829f2be4355de6ba61b73c9502d2">ttmath::Parser::AddToStack</a></div><div class="ttdeci">void AddToStack(ValueType &amp;value)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00540">ttmathparser.h:540</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a287b438ea218cec334a0ce0ad45a095c"><div class="ttname"><a href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">ttmath::Parser::Error</a></div><div class="ttdeci">static void Error(ErrorCode code)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00506">ttmathparser.h:506</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a545e4369237366fad4a82073653986a2"><div class="ttname"><a href="classttmath_1_1_parser.html#a545e4369237366fad4a82073653986a2">ttmath::Parser::IsSubstring</a></div><div class="ttdeci">virtual bool IsSubstring(const std::string &amp;short_str, const std::string &amp;long_str)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02033">ttmathparser.h:2033</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00540">ttmath::Parser&lt; ValueType &gt;::AddToStack()</a>, <a class="el" href="ttmathparser_8h_source.html#l00506">ttmath::Parser&lt; ValueType &gt;::Error()</a>, <a class="el" href="ttmathparser_8h_source.html#l02033">ttmath::Parser&lt; ValueType &gt;::IsSubstring()</a>, and <a class="el" href="ttmathparser_8h_source.html#l00351">ttmath::Parser&lt; ValueType &gt;::pstring</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02114">ttmath::Parser&lt; ValueType &gt;::ReadOperator()</a>.</p>

</div>
</div>
<a id="a5fb56b35c4b995f15bdd65b3bf98dae9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fb56b35c4b995f15bdd65b3bf98dae9">&#9670;&nbsp;</a></span>ReadName()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::ReadName </td>
          <td>(</td>
          <td class="paramtype">std::string &amp;&#160;</td>
          <td class="paramname"><em>result</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method read the name of a variable or a function 'result' will be the name of a variable or a function </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l01760">1760</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160;{</div><div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160;    result.erase();</div><div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160;</div><div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160;    <span class="keywordflow">while</span>( <a class="code" href="classttmath_1_1_parser.html#ad6f8e9d667bd6bf9ebf3ad3a4b91ad69">IsValidNameCharacter</a>(*<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>) )</div><div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160;    {</div><div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160;        result += *<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>;</div><div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a> += 1;</div><div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160;    }</div><div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a1a1cefe27be9fd9890edc90409fe5587"><div class="ttname"><a href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">ttmath::Parser::pstring</a></div><div class="ttdeci">const char * pstring</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00351">ttmathparser.h:351</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ad6f8e9d667bd6bf9ebf3ad3a4b91ad69"><div class="ttname"><a href="classttmath_1_1_parser.html#ad6f8e9d667bd6bf9ebf3ad3a4b91ad69">ttmath::Parser::IsValidNameCharacter</a></div><div class="ttdeci">virtual bool IsValidNameCharacter(int c)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l01747">ttmathparser.h:1747</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l01747">ttmath::Parser&lt; ValueType &gt;::IsValidNameCharacter()</a>, and <a class="el" href="ttmathparser_8h_source.html#l00351">ttmath::Parser&lt; ValueType &gt;::pstring</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l01778">ttmath::Parser&lt; ValueType &gt;::ReadVariableOrFunction()</a>.</p>

</div>
</div>
<a id="a1171e113b8753cfaf11d6efd7051754f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1171e113b8753cfaf11d6efd7051754f">&#9670;&nbsp;</a></span>ReadOperator()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::ReadOperator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method reads a mathematic operators or the final bracket or the semicolon operator</p>
<p>return values: true - if next operator should be read </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02114">2114</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02115"></a><span class="lineno"> 2115</span>&#160;{</div><div class="line"><a name="l02116"></a><span class="lineno"> 2116</span>&#160;    <span class="keywordtype">bool</span> read_next_operator = <span class="keyword">false</span>;</div><div class="line"><a name="l02117"></a><span class="lineno"> 2117</span>&#160;</div><div class="line"><a name="l02118"></a><span class="lineno"> 2118</span>&#160;    <span class="keywordflow">if</span>( *<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a> == <span class="charliteral">&#39;%&#39;</span> )</div><div class="line"><a name="l02119"></a><span class="lineno"> 2119</span>&#160;    {</div><div class="line"><a name="l02120"></a><span class="lineno"> 2120</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#af4448a43025c9183b50bd7b4de5ee42a">OperatorPercentage</a>();</div><div class="line"><a name="l02121"></a><span class="lineno"> 2121</span>&#160;        ++<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>;</div><div class="line"><a name="l02122"></a><span class="lineno"> 2122</span>&#160;        <span class="comment">// now we can read another operator</span></div><div class="line"><a name="l02123"></a><span class="lineno"> 2123</span>&#160;    }</div><div class="line"><a name="l02124"></a><span class="lineno"> 2124</span>&#160;</div><div class="line"><a name="l02125"></a><span class="lineno"> 2125</span>&#160;    <span class="keywordflow">if</span>( *<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a> == <span class="charliteral">&#39;)&#39;</span> )</div><div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>&#160;    {</div><div class="line"><a name="l02127"></a><span class="lineno"> 2127</span>&#160;        ++<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>;</div><div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a9f9eecfc18ea2ecd8bdf2718676aec7e">RollingUpFinalBracket</a>();</div><div class="line"><a name="l02129"></a><span class="lineno"> 2129</span>&#160;        read_next_operator = <span class="keyword">true</span>;</div><div class="line"><a name="l02130"></a><span class="lineno"> 2130</span>&#160;    }</div><div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l02132"></a><span class="lineno"> 2132</span>&#160;    <span class="keywordflow">if</span>( *<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a> == <span class="charliteral">&#39;;&#39;</span> || (<a class="code" href="classttmath_1_1_parser.html#a09545024c0b0a862429a54bf8a460d1c">param_sep</a>!=0 &amp;&amp; *<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>==<a class="code" href="classttmath_1_1_parser.html#a09545024c0b0a862429a54bf8a460d1c">param_sep</a>) )</div><div class="line"><a name="l02133"></a><span class="lineno"> 2133</span>&#160;    {</div><div class="line"><a name="l02134"></a><span class="lineno"> 2134</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a3d1c1c1ba9a2947925391623b8e28667">RollUPStack</a>();</div><div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>&#160;        ++<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>;</div><div class="line"><a name="l02136"></a><span class="lineno"> 2136</span>&#160;    }</div><div class="line"><a name="l02137"></a><span class="lineno"> 2137</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l02138"></a><span class="lineno"> 2138</span>&#160;    <span class="keywordflow">if</span>( (*<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>&gt;=<span class="charliteral">&#39;a&#39;</span> &amp;&amp; *<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>&lt;=<span class="charliteral">&#39;z&#39;</span>) || (*<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>&gt;=<span class="charliteral">&#39;A&#39;</span> &amp;&amp; *<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>&lt;=<span class="charliteral">&#39;Z&#39;</span>) )</div><div class="line"><a name="l02139"></a><span class="lineno"> 2139</span>&#160;    {</div><div class="line"><a name="l02140"></a><span class="lineno"> 2140</span>&#160;        <span class="comment">// short mul (without any operators)</span></div><div class="line"><a name="l02141"></a><span class="lineno"> 2141</span>&#160;        <span class="comment">// short mul is available only if the next item is a variable or a function</span></div><div class="line"><a name="l02142"></a><span class="lineno"> 2142</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a830a829f2be4355de6ba61b73c9502d2">AddToStack</a>(MatOperator::shortmul);</div><div class="line"><a name="l02143"></a><span class="lineno"> 2143</span>&#160;    }</div><div class="line"><a name="l02144"></a><span class="lineno"> 2144</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l02145"></a><span class="lineno"> 2145</span>&#160;    {</div><div class="line"><a name="l02146"></a><span class="lineno"> 2146</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#ab85f94b933780473488a3965a81f8a13">ReadMathematicalOperator</a>();</div><div class="line"><a name="l02147"></a><span class="lineno"> 2147</span>&#160;    }</div><div class="line"><a name="l02148"></a><span class="lineno"> 2148</span>&#160;</div><div class="line"><a name="l02149"></a><span class="lineno"> 2149</span>&#160;    <span class="keywordflow">return</span> read_next_operator;</div><div class="line"><a name="l02150"></a><span class="lineno"> 2150</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a1a1cefe27be9fd9890edc90409fe5587"><div class="ttname"><a href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">ttmath::Parser::pstring</a></div><div class="ttdeci">const char * pstring</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00351">ttmathparser.h:351</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a830a829f2be4355de6ba61b73c9502d2"><div class="ttname"><a href="classttmath_1_1_parser.html#a830a829f2be4355de6ba61b73c9502d2">ttmath::Parser::AddToStack</a></div><div class="ttdeci">void AddToStack(ValueType &amp;value)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00540">ttmathparser.h:540</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a3d1c1c1ba9a2947925391623b8e28667"><div class="ttname"><a href="classttmath_1_1_parser.html#a3d1c1c1ba9a2947925391623b8e28667">ttmath::Parser::RollUPStack</a></div><div class="ttdeci">void RollUPStack()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02316">ttmathparser.h:2316</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ab85f94b933780473488a3965a81f8a13"><div class="ttname"><a href="classttmath_1_1_parser.html#ab85f94b933780473488a3965a81f8a13">ttmath::Parser::ReadMathematicalOperator</a></div><div class="ttdeci">void ReadMathematicalOperator()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02049">ttmathparser.h:2049</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a9f9eecfc18ea2ecd8bdf2718676aec7e"><div class="ttname"><a href="classttmath_1_1_parser.html#a9f9eecfc18ea2ecd8bdf2718676aec7e">ttmath::Parser::RollingUpFinalBracket</a></div><div class="ttdeci">void RollingUpFinalBracket()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02376">ttmathparser.h:2376</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_af4448a43025c9183b50bd7b4de5ee42a"><div class="ttname"><a href="classttmath_1_1_parser.html#af4448a43025c9183b50bd7b4de5ee42a">ttmath::Parser::OperatorPercentage</a></div><div class="ttdeci">void OperatorPercentage()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02084">ttmathparser.h:2084</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a09545024c0b0a862429a54bf8a460d1c"><div class="ttname"><a href="classttmath_1_1_parser.html#a09545024c0b0a862429a54bf8a460d1c">ttmath::Parser::param_sep</a></div><div class="ttdeci">int param_sep</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00493">ttmathparser.h:493</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00540">ttmath::Parser&lt; ValueType &gt;::AddToStack()</a>, <a class="el" href="ttmathparser_8h_source.html#l02084">ttmath::Parser&lt; ValueType &gt;::OperatorPercentage()</a>, <a class="el" href="ttmathparser_8h_source.html#l00493">ttmath::Parser&lt; ValueType &gt;::param_sep</a>, <a class="el" href="ttmathparser_8h_source.html#l00351">ttmath::Parser&lt; ValueType &gt;::pstring</a>, <a class="el" href="ttmathparser_8h_source.html#l02049">ttmath::Parser&lt; ValueType &gt;::ReadMathematicalOperator()</a>, <a class="el" href="ttmathparser_8h_source.html#l02376">ttmath::Parser&lt; ValueType &gt;::RollingUpFinalBracket()</a>, and <a class="el" href="ttmathparser_8h_source.html#l02316">ttmath::Parser&lt; ValueType &gt;::RollUPStack()</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02158">ttmath::Parser&lt; ValueType &gt;::ReadOperators()</a>.</p>

</div>
</div>
<a id="adab2410fd0ff79bcbbbffbb253b68754"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adab2410fd0ff79bcbbbffbb253b68754">&#9670;&nbsp;</a></span>ReadOperators()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::ReadOperators </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method is reading a operator and if it's a final bracket it's calling <a class="el" href="classttmath_1_1_parser.html#a9f9eecfc18ea2ecd8bdf2718676aec7e">RollingUpFinalBracket()</a> and reading an operator again </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02158">2158</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02159"></a><span class="lineno"> 2159</span>&#160;{</div><div class="line"><a name="l02160"></a><span class="lineno"> 2160</span>&#160;    <span class="keywordtype">bool</span> continue_reading;</div><div class="line"><a name="l02161"></a><span class="lineno"> 2161</span>&#160;</div><div class="line"><a name="l02162"></a><span class="lineno"> 2162</span>&#160;    <span class="keywordflow">do</span></div><div class="line"><a name="l02163"></a><span class="lineno"> 2163</span>&#160;    {</div><div class="line"><a name="l02164"></a><span class="lineno"> 2164</span>&#160;        continue_reading = <span class="keyword">false</span>;</div><div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a18dfe2aa287cea893532f9b0fd9c6f82">SkipWhiteCharacters</a>();</div><div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>&#160;</div><div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>&#160;        <span class="keywordflow">if</span>( *<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a> )</div><div class="line"><a name="l02168"></a><span class="lineno"> 2168</span>&#160;            continue_reading = <a class="code" href="classttmath_1_1_parser.html#a1171e113b8753cfaf11d6efd7051754f">ReadOperator</a>();</div><div class="line"><a name="l02169"></a><span class="lineno"> 2169</span>&#160;    }</div><div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>&#160;    <span class="keywordflow">while</span>( continue_reading );</div><div class="line"><a name="l02171"></a><span class="lineno"> 2171</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a1a1cefe27be9fd9890edc90409fe5587"><div class="ttname"><a href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">ttmath::Parser::pstring</a></div><div class="ttdeci">const char * pstring</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00351">ttmathparser.h:351</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a1171e113b8753cfaf11d6efd7051754f"><div class="ttname"><a href="classttmath_1_1_parser.html#a1171e113b8753cfaf11d6efd7051754f">ttmath::Parser::ReadOperator</a></div><div class="ttdeci">virtual bool ReadOperator()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02114">ttmathparser.h:2114</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a18dfe2aa287cea893532f9b0fd9c6f82"><div class="ttname"><a href="classttmath_1_1_parser.html#a18dfe2aa287cea893532f9b0fd9c6f82">ttmath::Parser::SkipWhiteCharacters</a></div><div class="ttdeci">void SkipWhiteCharacters()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00517">ttmathparser.h:517</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00351">ttmath::Parser&lt; ValueType &gt;::pstring</a>, <a class="el" href="ttmathparser_8h_source.html#l02114">ttmath::Parser&lt; ValueType &gt;::ReadOperator()</a>, and <a class="el" href="ttmathparser_8h_source.html#l00517">ttmath::Parser&lt; ValueType &gt;::SkipWhiteCharacters()</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02472">ttmath::Parser&lt; ValueType &gt;::Parse()</a>.</p>

</div>
</div>
<a id="a7c3c3ef62114d8e521874d5ca47b4485"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c3c3ef62114d8e521874d5ca47b4485">&#9670;&nbsp;</a></span>ReadTokens()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::ReadTokens </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>we're reading the item</p>
<p>return values: 0 - all ok, the item is successfully read 1 - the end of the string (the item is not read) 2 - the final bracket ')' </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l01983">1983</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160;{</div><div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>&#160;    <span class="keywordtype">bool</span> continue_reading;</div><div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>&#160;</div><div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>&#160;    <span class="keywordflow">do</span></div><div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>&#160;    {</div><div class="line"><a name="l01989"></a><span class="lineno"> 1989</span>&#160;        continue_reading = <span class="keyword">false</span>;</div><div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a18dfe2aa287cea893532f9b0fd9c6f82">SkipWhiteCharacters</a>();</div><div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>&#160;</div><div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>&#160;        <span class="keywordflow">if</span>( *<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a> )</div><div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>&#160;            continue_reading = ReadToken();</div><div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>&#160;</div><div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>&#160;    } <span class="keywordflow">while</span>( continue_reading );</div><div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a1a1cefe27be9fd9890edc90409fe5587"><div class="ttname"><a href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">ttmath::Parser::pstring</a></div><div class="ttdeci">const char * pstring</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00351">ttmathparser.h:351</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a18dfe2aa287cea893532f9b0fd9c6f82"><div class="ttname"><a href="classttmath_1_1_parser.html#a18dfe2aa287cea893532f9b0fd9c6f82">ttmath::Parser::SkipWhiteCharacters</a></div><div class="ttdeci">void SkipWhiteCharacters()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00517">ttmathparser.h:517</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00351">ttmath::Parser&lt; ValueType &gt;::pstring</a>, and <a class="el" href="ttmathparser_8h_source.html#l00517">ttmath::Parser&lt; ValueType &gt;::SkipWhiteCharacters()</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02472">ttmath::Parser&lt; ValueType &gt;::Parse()</a>.</p>

</div>
</div>
<a id="ac2970b976c2fa0f7ba34da6cac7843c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2970b976c2fa0f7ba34da6cac7843c0">&#9670;&nbsp;</a></span>ReadValue()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::ReadValue </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>reading_base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>change_sign</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>we're reading a numerical value directly from the string </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l01839">1839</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>&#160;{</div><div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> * after_value_string;</div><div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160;<span class="keywordtype">bool</span> value_read;</div><div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>&#160;Conv conv;</div><div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>&#160;</div><div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>&#160;    conv.base   = reading_base;</div><div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>&#160;    conv.comma  = <a class="code" href="classttmath_1_1_parser.html#a8c57cceddcb884aa0aaa2db745470e9d">comma</a>;</div><div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>&#160;    conv.comma2 = comma2;</div><div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>&#160;    conv.group  = <a class="code" href="classttmath_1_1_parser.html#aa9cce071c7b302a768acbab99016d6e3">group</a>;</div><div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>&#160;</div><div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>&#160;    ValueType value;</div><div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> carry = value.FromString(<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>, conv, &amp;after_value_string, &amp;value_read);</div><div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>    = after_value_string;</div><div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160;</div><div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>&#160;    <span class="keywordflow">if</span>( carry )</div><div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_overflow );</div><div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>&#160;</div><div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160;    <span class="keywordflow">if</span>( !value_read )</div><div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_unknown_character );</div><div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>&#160;</div><div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>&#160;    <span class="keywordflow">if</span>( change_sign )</div><div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>&#160;    {</div><div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>&#160;        value.ChangeSign();</div><div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>&#160;    }</div><div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>&#160;</div><div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a830a829f2be4355de6ba61b73c9502d2">AddToStack</a>(value);</div><div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a1a1cefe27be9fd9890edc90409fe5587"><div class="ttname"><a href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">ttmath::Parser::pstring</a></div><div class="ttdeci">const char * pstring</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00351">ttmathparser.h:351</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a830a829f2be4355de6ba61b73c9502d2"><div class="ttname"><a href="classttmath_1_1_parser.html#a830a829f2be4355de6ba61b73c9502d2">ttmath::Parser::AddToStack</a></div><div class="ttdeci">void AddToStack(ValueType &amp;value)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00540">ttmathparser.h:540</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a8c57cceddcb884aa0aaa2db745470e9d"><div class="ttname"><a href="classttmath_1_1_parser.html#a8c57cceddcb884aa0aaa2db745470e9d">ttmath::Parser::comma</a></div><div class="ttdeci">int comma</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00486">ttmathparser.h:486</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a287b438ea218cec334a0ce0ad45a095c"><div class="ttname"><a href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">ttmath::Parser::Error</a></div><div class="ttdeci">static void Error(ErrorCode code)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00506">ttmathparser.h:506</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_aa9cce071c7b302a768acbab99016d6e3"><div class="ttname"><a href="classttmath_1_1_parser.html#aa9cce071c7b302a768acbab99016d6e3">ttmath::Parser::group</a></div><div class="ttdeci">int group</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00478">ttmathparser.h:478</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00540">ttmath::Parser&lt; ValueType &gt;::AddToStack()</a>, <a class="el" href="ttmathtypes_8h_source.html#l00413">ttmath::Conv::base</a>, <a class="el" href="ttmathtypes_8h_source.html#l00477">ttmath::Conv::comma</a>, <a class="el" href="ttmathparser_8h_source.html#l00486">ttmath::Parser&lt; ValueType &gt;::comma</a>, <a class="el" href="ttmathtypes_8h_source.html#l00488">ttmath::Conv::comma2</a>, <a class="el" href="ttmathparser_8h_source.html#l00506">ttmath::Parser&lt; ValueType &gt;::Error()</a>, <a class="el" href="ttmathparser_8h_source.html#l00478">ttmath::Parser&lt; ValueType &gt;::group</a>, <a class="el" href="ttmathtypes_8h_source.html#l00497">ttmath::Conv::group</a>, and <a class="el" href="ttmathparser_8h_source.html#l00351">ttmath::Parser&lt; ValueType &gt;::pstring</a>.</p>

</div>
</div>
<a id="ad44fedafb829053f6d425648730efd27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad44fedafb829053f6d425648730efd27">&#9670;&nbsp;</a></span>ReadVariableOrFunction()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::ReadVariableOrFunction </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>was_sign</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>was_minus_sign</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>we're reading the name of a variable or a function if is there a function we'll return 'true' also we return true when we read the name of a variable with an assignment operator </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l01778">1778</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160;{</div><div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160;    std::string name;</div><div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160;    <span class="keywordtype">bool</span> read_next_token = <span class="keyword">false</span>;</div><div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160;</div><div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a5fb56b35c4b995f15bdd65b3bf98dae9">ReadName</a>(name);</div><div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a18dfe2aa287cea893532f9b0fd9c6f82">SkipWhiteCharacters</a>();</div><div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160;</div><div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160;    <span class="keywordflow">if</span>( *<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a> == <span class="charliteral">&#39;(&#39;</span> )</div><div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160;    {</div><div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160;        <span class="comment">/*</span></div><div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160;<span class="comment">            if there&#39;s a character &#39;(&#39; that means this name is a name of a function</span></div><div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160;<span class="comment">        */</span></div><div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160;        ++<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>;</div><div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a830a829f2be4355de6ba61b73c9502d2">AddToStack</a>(Item::first_bracket, name, <span class="keyword">true</span>, was_minus_sign);</div><div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160;        read_next_token = <span class="keyword">true</span>;</div><div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160;    }</div><div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160;    <span class="keywordflow">if</span>( *<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a> == <span class="charliteral">&#39;=&#39;</span> &amp;&amp; *(<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>+1) != <span class="charliteral">&#39;=&#39;</span> )</div><div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160;    {</div><div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160;        <span class="comment">/*</span></div><div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160;<span class="comment">            if there&#39;s a character &#39;=&#39; that means this name is a name of a variable with an assigment operator</span></div><div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160;<span class="comment">        */</span></div><div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160;        ++<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>;</div><div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160;</div><div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160;        <span class="keywordflow">if</span>( !was_sign )</div><div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160;        {</div><div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#a830a829f2be4355de6ba61b73c9502d2">AddToStack</a>(Item::variable, name, <span class="keyword">false</span>, <span class="keyword">false</span>);</div><div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#a830a829f2be4355de6ba61b73c9502d2">AddToStack</a>(MatOperator::assign);</div><div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160;            read_next_token = <span class="keyword">true</span>;</div><div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160;        }</div><div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160;        {</div><div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160;            <span class="comment">// something like: &#39;-a = 10&#39; or &#39;+a = 10&#39;</span></div><div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_assignment_requires_variable );</div><div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160;        }</div><div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>&#160;    }</div><div class="line"><a name="l01815"></a><span class="lineno"> 1815</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160;    {</div><div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160;        <span class="comment">/*</span></div><div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160;<span class="comment">            we&#39;ve read the name of a variable and we&#39;re getting its value now</span></div><div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160;<span class="comment">        */</span></div><div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160;        ValueType value = <a class="code" href="classttmath_1_1_parser.html#ad0a4a6b1ca66c064f9bfb882537de35a">GetValueOfVariable</a>(name);</div><div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160;</div><div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160;        <span class="keywordflow">if</span>( was_minus_sign )</div><div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160;            value.ChangeSign();</div><div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160;</div><div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a830a829f2be4355de6ba61b73c9502d2">AddToStack</a>(value);</div><div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160;    }</div><div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160;</div><div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160;    <span class="keywordflow">return</span> read_next_token;</div><div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a1a1cefe27be9fd9890edc90409fe5587"><div class="ttname"><a href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">ttmath::Parser::pstring</a></div><div class="ttdeci">const char * pstring</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00351">ttmathparser.h:351</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a830a829f2be4355de6ba61b73c9502d2"><div class="ttname"><a href="classttmath_1_1_parser.html#a830a829f2be4355de6ba61b73c9502d2">ttmath::Parser::AddToStack</a></div><div class="ttdeci">void AddToStack(ValueType &amp;value)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00540">ttmathparser.h:540</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a5fb56b35c4b995f15bdd65b3bf98dae9"><div class="ttname"><a href="classttmath_1_1_parser.html#a5fb56b35c4b995f15bdd65b3bf98dae9">ttmath::Parser::ReadName</a></div><div class="ttdeci">virtual void ReadName(std::string &amp;result)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l01760">ttmathparser.h:1760</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a287b438ea218cec334a0ce0ad45a095c"><div class="ttname"><a href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">ttmath::Parser::Error</a></div><div class="ttdeci">static void Error(ErrorCode code)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00506">ttmathparser.h:506</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ad0a4a6b1ca66c064f9bfb882537de35a"><div class="ttname"><a href="classttmath_1_1_parser.html#ad0a4a6b1ca66c064f9bfb882537de35a">ttmath::Parser::GetValueOfVariable</a></div><div class="ttdeci">virtual ValueType GetValueOfVariable(const std::string &amp;variable_name)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00738">ttmathparser.h:738</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a18dfe2aa287cea893532f9b0fd9c6f82"><div class="ttname"><a href="classttmath_1_1_parser.html#a18dfe2aa287cea893532f9b0fd9c6f82">ttmath::Parser::SkipWhiteCharacters</a></div><div class="ttdeci">void SkipWhiteCharacters()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00517">ttmathparser.h:517</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00540">ttmath::Parser&lt; ValueType &gt;::AddToStack()</a>, <a class="el" href="ttmathparser_8h_source.html#l00506">ttmath::Parser&lt; ValueType &gt;::Error()</a>, <a class="el" href="ttmathparser_8h_source.html#l00738">ttmath::Parser&lt; ValueType &gt;::GetValueOfVariable()</a>, <a class="el" href="ttmathparser_8h_source.html#l00351">ttmath::Parser&lt; ValueType &gt;::pstring</a>, <a class="el" href="ttmathparser_8h_source.html#l01760">ttmath::Parser&lt; ValueType &gt;::ReadName()</a>, and <a class="el" href="ttmathparser_8h_source.html#l00517">ttmath::Parser&lt; ValueType &gt;::SkipWhiteCharacters()</a>.</p>

</div>
</div>
<a id="a5df6bd7cd01cdac05d28b7e30fdbcd34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5df6bd7cd01cdac05d28b7e30fdbcd34">&#9670;&nbsp;</a></span>RecurrenceParsingVariablesOrFunction()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ValueType <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>variable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>new_string</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FunctionLocalVariables *&#160;</td>
          <td class="paramname"><em>local_variables</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method returns the value of a variable or function by creating a new instance of the mathematical parser and making the standard parsing algorithm on the given string</p>
<p>this method is used only during parsing user defined variables or functions</p>
<p>(there can be a recurrence here therefore we're using 'visited_variables' and 'visited_functions' sets to make a stop condition) </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00652">652</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;{</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a081595f4fc84de383db429bdf5c8acfa">RecurrenceParsingVariablesOrFunction_CheckStopCondition</a>(variable, name);</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#ae8ec9687c5efb63127bf3ed74a0e9a01">RecurrenceParsingVariablesOrFunction_AddName</a>(variable, name);</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;    Parser&lt;ValueType&gt; NewParser(*<span class="keyword">this</span>);</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;    <a class="code" href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ErrorCode</a> err;</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;    NewParser.pfunction_local_variables = local_variables;</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;    {</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;        err = NewParser.Parse(new_string);</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;    }</div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;    <span class="keywordflow">catch</span>(...)</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;    {</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a728eb8fc95ffc5929077b14c365106a6">RecurrenceParsingVariablesOrFunction_DeleteName</a>(variable, name);</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;    <span class="keywordflow">throw</span>;</div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;    }</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;</div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a728eb8fc95ffc5929077b14c365106a6">RecurrenceParsingVariablesOrFunction_DeleteName</a>(variable, name);</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;</div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;    <span class="keywordflow">if</span>( err != err_ok )</div><div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err );</div><div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;</div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;    <span class="keywordflow">if</span>( NewParser.stack.size() != 1 )</div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_must_be_only_one_value );</div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;    <span class="keywordflow">if</span>( NewParser.stack[0].type != Item::numerical_value )</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;        <span class="comment">// I think there shouldn&#39;t be this error here</span></div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_incorrect_value );</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;<span class="keywordflow">return</span> NewParser.stack[0].value;</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_ae8ec9687c5efb63127bf3ed74a0e9a01"><div class="ttname"><a href="classttmath_1_1_parser.html#ae8ec9687c5efb63127bf3ed74a0e9a01">ttmath::Parser::RecurrenceParsingVariablesOrFunction_AddName</a></div><div class="ttdeci">void RecurrenceParsingVariablesOrFunction_AddName(bool variable, const std::string &amp;name)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00621">ttmathparser.h:621</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a081595f4fc84de383db429bdf5c8acfa"><div class="ttname"><a href="classttmath_1_1_parser.html#a081595f4fc84de383db429bdf5c8acfa">ttmath::Parser::RecurrenceParsingVariablesOrFunction_CheckStopCondition</a></div><div class="ttdeci">void RecurrenceParsingVariablesOrFunction_CheckStopCondition(bool variable, const std::string &amp;name)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00603">ttmathparser.h:603</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a287b438ea218cec334a0ce0ad45a095c"><div class="ttname"><a href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">ttmath::Parser::Error</a></div><div class="ttdeci">static void Error(ErrorCode code)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00506">ttmathparser.h:506</a></div></div>
<div class="ttc" id="namespacettmath_html_af99599ccaf4dc05cc3a74277f9579942"><div class="ttname"><a href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ttmath::ErrorCode</a></div><div class="ttdeci">ErrorCode</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00370">ttmathtypes.h:370</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a728eb8fc95ffc5929077b14c365106a6"><div class="ttname"><a href="classttmath_1_1_parser.html#a728eb8fc95ffc5929077b14c365106a6">ttmath::Parser::RecurrenceParsingVariablesOrFunction_DeleteName</a></div><div class="ttdeci">void RecurrenceParsingVariablesOrFunction_DeleteName(bool variable, const std::string &amp;name)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00633">ttmathparser.h:633</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00506">ttmath::Parser&lt; ValueType &gt;::Error()</a>, <a class="el" href="ttmathparser_8h_source.html#l02472">ttmath::Parser&lt; ValueType &gt;::Parse()</a>, <a class="el" href="ttmathparser_8h_source.html#l00393">ttmath::Parser&lt; ValueType &gt;::pfunction_local_variables</a>, <a class="el" href="ttmathparser_8h_source.html#l00621">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction_AddName()</a>, <a class="el" href="ttmathparser_8h_source.html#l00603">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction_CheckStopCondition()</a>, <a class="el" href="ttmathparser_8h_source.html#l00633">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction_DeleteName()</a>, and <a class="el" href="ttmathparser_8h_source.html#l00318">ttmath::Parser&lt; ValueType &gt;::stack</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l01545">ttmath::Parser&lt; ValueType &gt;::GetValueOfUserDefinedFunction()</a>, and <a class="el" href="ttmathparser_8h_source.html#l00696">ttmath::Parser&lt; ValueType &gt;::GetValueOfUserDefinedVariable()</a>.</p>

</div>
</div>
<a id="ae8ec9687c5efb63127bf3ed74a0e9a01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8ec9687c5efb63127bf3ed74a0e9a01">&#9670;&nbsp;</a></span>RecurrenceParsingVariablesOrFunction_AddName()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction_AddName </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>variable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>an auxiliary method for RecurrenceParsingVariablesOrFunction(...) </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00621">621</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;{</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;    <span class="keywordflow">if</span>( variable )</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#aab98ce9b1914a61ecb54e5ace8f7f7f5">visited_variables</a>.insert( name );</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a77a65a6e909069850b51d5ce42781e6e">visited_functions</a>.insert( name );</div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a77a65a6e909069850b51d5ce42781e6e"><div class="ttname"><a href="classttmath_1_1_parser.html#a77a65a6e909069850b51d5ce42781e6e">ttmath::Parser::visited_functions</a></div><div class="ttdeci">std::set&lt; std::string &gt; visited_functions</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00405">ttmathparser.h:405</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_aab98ce9b1914a61ecb54e5ace8f7f7f5"><div class="ttname"><a href="classttmath_1_1_parser.html#aab98ce9b1914a61ecb54e5ace8f7f7f5">ttmath::Parser::visited_variables</a></div><div class="ttdeci">std::set&lt; std::string &gt; visited_variables</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00399">ttmathparser.h:399</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00405">ttmath::Parser&lt; ValueType &gt;::visited_functions</a>, and <a class="el" href="ttmathparser_8h_source.html#l00399">ttmath::Parser&lt; ValueType &gt;::visited_variables</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l00652">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction()</a>.</p>

</div>
</div>
<a id="a081595f4fc84de383db429bdf5c8acfa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a081595f4fc84de383db429bdf5c8acfa">&#9670;&nbsp;</a></span>RecurrenceParsingVariablesOrFunction_CheckStopCondition()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction_CheckStopCondition </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>variable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>an auxiliary method for RecurrenceParsingVariablesOrFunction(...) </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00603">603</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;{</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;    <span class="keywordflow">if</span>( variable )</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;    {</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;        <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#aab98ce9b1914a61ecb54e5ace8f7f7f5">visited_variables</a>.find(name) != <a class="code" href="classttmath_1_1_parser.html#aab98ce9b1914a61ecb54e5ace8f7f7f5">visited_variables</a>.end() )</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_variable_loop );</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;    }</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;    {</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;        <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#a77a65a6e909069850b51d5ce42781e6e">visited_functions</a>.find(name) != <a class="code" href="classttmath_1_1_parser.html#a77a65a6e909069850b51d5ce42781e6e">visited_functions</a>.end() )</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_functions_loop );</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;    }</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a287b438ea218cec334a0ce0ad45a095c"><div class="ttname"><a href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">ttmath::Parser::Error</a></div><div class="ttdeci">static void Error(ErrorCode code)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00506">ttmathparser.h:506</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a77a65a6e909069850b51d5ce42781e6e"><div class="ttname"><a href="classttmath_1_1_parser.html#a77a65a6e909069850b51d5ce42781e6e">ttmath::Parser::visited_functions</a></div><div class="ttdeci">std::set&lt; std::string &gt; visited_functions</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00405">ttmathparser.h:405</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_aab98ce9b1914a61ecb54e5ace8f7f7f5"><div class="ttname"><a href="classttmath_1_1_parser.html#aab98ce9b1914a61ecb54e5ace8f7f7f5">ttmath::Parser::visited_variables</a></div><div class="ttdeci">std::set&lt; std::string &gt; visited_variables</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00399">ttmathparser.h:399</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00506">ttmath::Parser&lt; ValueType &gt;::Error()</a>, <a class="el" href="ttmathparser_8h_source.html#l00405">ttmath::Parser&lt; ValueType &gt;::visited_functions</a>, and <a class="el" href="ttmathparser_8h_source.html#l00399">ttmath::Parser&lt; ValueType &gt;::visited_variables</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l00652">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction()</a>.</p>

</div>
</div>
<a id="a728eb8fc95ffc5929077b14c365106a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a728eb8fc95ffc5929077b14c365106a6">&#9670;&nbsp;</a></span>RecurrenceParsingVariablesOrFunction_DeleteName()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction_DeleteName </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>variable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>an auxiliary method for RecurrenceParsingVariablesOrFunction(...) </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00633">633</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;{</div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;    <span class="keywordflow">if</span>( variable )</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#aab98ce9b1914a61ecb54e5ace8f7f7f5">visited_variables</a>.erase( name );</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a77a65a6e909069850b51d5ce42781e6e">visited_functions</a>.erase( name );</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a77a65a6e909069850b51d5ce42781e6e"><div class="ttname"><a href="classttmath_1_1_parser.html#a77a65a6e909069850b51d5ce42781e6e">ttmath::Parser::visited_functions</a></div><div class="ttdeci">std::set&lt; std::string &gt; visited_functions</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00405">ttmathparser.h:405</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_aab98ce9b1914a61ecb54e5ace8f7f7f5"><div class="ttname"><a href="classttmath_1_1_parser.html#aab98ce9b1914a61ecb54e5ace8f7f7f5">ttmath::Parser::visited_variables</a></div><div class="ttdeci">std::set&lt; std::string &gt; visited_variables</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00399">ttmathparser.h:399</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00405">ttmath::Parser&lt; ValueType &gt;::visited_functions</a>, and <a class="el" href="ttmathparser_8h_source.html#l00399">ttmath::Parser&lt; ValueType &gt;::visited_variables</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l00652">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction()</a>.</p>

</div>
</div>
<a id="a9f9eecfc18ea2ecd8bdf2718676aec7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f9eecfc18ea2ecd8bdf2718676aec7e">&#9670;&nbsp;</a></span>RollingUpFinalBracket()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::RollingUpFinalBracket </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method is being called when the final bracket ')' is being found</p>
<p>this method's rolling the stack up, counting how many parameters there are on the stack and if there was a function it's calling the function </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02376">2376</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02377"></a><span class="lineno"> 2377</span>&#160;{</div><div class="line"><a name="l02378"></a><span class="lineno"> 2378</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> amount_of_parameters;</div><div class="line"><a name="l02379"></a><span class="lineno"> 2379</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index;</div><div class="line"><a name="l02380"></a><span class="lineno"> 2380</span>&#160;</div><div class="line"><a name="l02381"></a><span class="lineno"> 2381</span>&#160;    </div><div class="line"><a name="l02382"></a><span class="lineno"> 2382</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>&lt;1 ||</div><div class="line"><a name="l02383"></a><span class="lineno"> 2383</span>&#160;        (<a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-1].type != Item::numerical_value &amp;&amp;</div><div class="line"><a name="l02384"></a><span class="lineno"> 2384</span>&#160;         <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-1].type != Item::first_bracket)</div><div class="line"><a name="l02385"></a><span class="lineno"> 2385</span>&#160;      )</div><div class="line"><a name="l02386"></a><span class="lineno"> 2386</span>&#160;    {</div><div class="line"><a name="l02387"></a><span class="lineno"> 2387</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_unexpected_final_bracket );</div><div class="line"><a name="l02388"></a><span class="lineno"> 2388</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l02389"></a><span class="lineno"> 2389</span>&#160;    }</div><div class="line"><a name="l02390"></a><span class="lineno"> 2390</span>&#160;    </div><div class="line"><a name="l02391"></a><span class="lineno"> 2391</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a3d1c1c1ba9a2947925391623b8e28667">RollUPStack</a>();</div><div class="line"><a name="l02392"></a><span class="lineno"> 2392</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#ad4b47a52abc190792054af7b3e2c2475">HowManyParameters</a>(amount_of_parameters, index);</div><div class="line"><a name="l02393"></a><span class="lineno"> 2393</span>&#160;</div><div class="line"><a name="l02394"></a><span class="lineno"> 2394</span>&#160;    <span class="comment">// &#39;index&#39; will be greater than zero</span></div><div class="line"><a name="l02395"></a><span class="lineno"> 2395</span>&#160;    <span class="comment">// &#39;amount_of_parameters&#39; can be zero</span></div><div class="line"><a name="l02396"></a><span class="lineno"> 2396</span>&#160;</div><div class="line"><a name="l02397"></a><span class="lineno"> 2397</span>&#160;    <span class="keywordflow">if</span>( amount_of_parameters==0 &amp;&amp; !<a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[index-1].<span class="keyword">function</span> )</div><div class="line"><a name="l02398"></a><span class="lineno"> 2398</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_unexpected_final_bracket );</div><div class="line"><a name="l02399"></a><span class="lineno"> 2399</span>&#160;</div><div class="line"><a name="l02400"></a><span class="lineno"> 2400</span>&#160;</div><div class="line"><a name="l02401"></a><span class="lineno"> 2401</span>&#160;    <span class="keywordtype">bool</span> was_sign = <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[index-1].sign;</div><div class="line"><a name="l02402"></a><span class="lineno"> 2402</span>&#160;</div><div class="line"><a name="l02403"></a><span class="lineno"> 2403</span>&#160;</div><div class="line"><a name="l02404"></a><span class="lineno"> 2404</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[index-1].<span class="keyword">function</span> )</div><div class="line"><a name="l02405"></a><span class="lineno"> 2405</span>&#160;    {</div><div class="line"><a name="l02406"></a><span class="lineno"> 2406</span>&#160;        <span class="comment">// the result of a function will be on &#39;stack[index-1]&#39;</span></div><div class="line"><a name="l02407"></a><span class="lineno"> 2407</span>&#160;        <span class="comment">// and then at the end we&#39;ll set the correct type (numerical value) of this element</span></div><div class="line"><a name="l02408"></a><span class="lineno"> 2408</span>&#160;        CallFunction(<a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[index-1].function_name, amount_of_parameters, index);</div><div class="line"><a name="l02409"></a><span class="lineno"> 2409</span>&#160;    }</div><div class="line"><a name="l02410"></a><span class="lineno"> 2410</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l02411"></a><span class="lineno"> 2411</span>&#160;    {</div><div class="line"><a name="l02412"></a><span class="lineno"> 2412</span>&#160;        <span class="comment">/*</span></div><div class="line"><a name="l02413"></a><span class="lineno"> 2413</span>&#160;<span class="comment">            there was a normal bracket (not a funcion)</span></div><div class="line"><a name="l02414"></a><span class="lineno"> 2414</span>&#160;<span class="comment">        */</span></div><div class="line"><a name="l02415"></a><span class="lineno"> 2415</span>&#160;        <span class="keywordflow">if</span>( amount_of_parameters != 1 )</div><div class="line"><a name="l02416"></a><span class="lineno"> 2416</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">Error</a>( err_unexpected_semicolon_operator );</div><div class="line"><a name="l02417"></a><span class="lineno"> 2417</span>&#160;</div><div class="line"><a name="l02418"></a><span class="lineno"> 2418</span>&#160;</div><div class="line"><a name="l02419"></a><span class="lineno"> 2419</span>&#160;        <span class="comment">/*</span></div><div class="line"><a name="l02420"></a><span class="lineno"> 2420</span>&#160;<span class="comment">            in the place where is the bracket we put the result</span></div><div class="line"><a name="l02421"></a><span class="lineno"> 2421</span>&#160;<span class="comment">        */</span></div><div class="line"><a name="l02422"></a><span class="lineno"> 2422</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[index-1] = <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[index];</div><div class="line"><a name="l02423"></a><span class="lineno"> 2423</span>&#160;    }</div><div class="line"><a name="l02424"></a><span class="lineno"> 2424</span>&#160;</div><div class="line"><a name="l02425"></a><span class="lineno"> 2425</span>&#160;</div><div class="line"><a name="l02426"></a><span class="lineno"> 2426</span>&#160;    <span class="comment">/*</span></div><div class="line"><a name="l02427"></a><span class="lineno"> 2427</span>&#160;<span class="comment">        if there was a &#39;-&#39; character before the first bracket</span></div><div class="line"><a name="l02428"></a><span class="lineno"> 2428</span>&#160;<span class="comment">        we change the sign of the expression</span></div><div class="line"><a name="l02429"></a><span class="lineno"> 2429</span>&#160;<span class="comment">    */</span></div><div class="line"><a name="l02430"></a><span class="lineno"> 2430</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[index-1].sign = <span class="keyword">false</span>;</div><div class="line"><a name="l02431"></a><span class="lineno"> 2431</span>&#160;</div><div class="line"><a name="l02432"></a><span class="lineno"> 2432</span>&#160;    <span class="keywordflow">if</span>( was_sign )</div><div class="line"><a name="l02433"></a><span class="lineno"> 2433</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[index-1].value.ChangeSign();</div><div class="line"><a name="l02434"></a><span class="lineno"> 2434</span>&#160;</div><div class="line"><a name="l02435"></a><span class="lineno"> 2435</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[index-1].type = Item::numerical_value;</div><div class="line"><a name="l02436"></a><span class="lineno"> 2436</span>&#160;</div><div class="line"><a name="l02437"></a><span class="lineno"> 2437</span>&#160;</div><div class="line"><a name="l02438"></a><span class="lineno"> 2438</span>&#160;    <span class="comment">/*</span></div><div class="line"><a name="l02439"></a><span class="lineno"> 2439</span>&#160;<span class="comment">        the pointer of the stack will be pointing on the next (non-existing now) element</span></div><div class="line"><a name="l02440"></a><span class="lineno"> 2440</span>&#160;<span class="comment">    */</span></div><div class="line"><a name="l02441"></a><span class="lineno"> 2441</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a> = index;</div><div class="line"><a name="l02442"></a><span class="lineno"> 2442</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_ad4b47a52abc190792054af7b3e2c2475"><div class="ttname"><a href="classttmath_1_1_parser.html#ad4b47a52abc190792054af7b3e2c2475">ttmath::Parser::HowManyParameters</a></div><div class="ttdeci">void HowManyParameters(unsigned int &amp;size, unsigned int &amp;index)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02341">ttmathparser.h:2341</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a72a419bd6ac1f3fb7093fff3372e5733"><div class="ttname"><a href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">ttmath::Parser::stack</a></div><div class="ttdeci">std::vector&lt; Item &gt; stack</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00318">ttmathparser.h:318</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ab0838f95cf21b1a36c1a7b564536f57e"><div class="ttname"><a href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">ttmath::Parser::stack_index</a></div><div class="ttdeci">unsigned int stack_index</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00338">ttmathparser.h:338</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a287b438ea218cec334a0ce0ad45a095c"><div class="ttname"><a href="classttmath_1_1_parser.html#a287b438ea218cec334a0ce0ad45a095c">ttmath::Parser::Error</a></div><div class="ttdeci">static void Error(ErrorCode code)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00506">ttmathparser.h:506</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a3d1c1c1ba9a2947925391623b8e28667"><div class="ttname"><a href="classttmath_1_1_parser.html#a3d1c1c1ba9a2947925391623b8e28667">ttmath::Parser::RollUPStack</a></div><div class="ttdeci">void RollUPStack()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02316">ttmathparser.h:2316</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00506">ttmath::Parser&lt; ValueType &gt;::Error()</a>, <a class="el" href="ttmathparser_8h_source.html#l02341">ttmath::Parser&lt; ValueType &gt;::HowManyParameters()</a>, <a class="el" href="ttmathparser_8h_source.html#l02316">ttmath::Parser&lt; ValueType &gt;::RollUPStack()</a>, <a class="el" href="ttmathparser_8h_source.html#l00318">ttmath::Parser&lt; ValueType &gt;::stack</a>, and <a class="el" href="ttmathparser_8h_source.html#l00338">ttmath::Parser&lt; ValueType &gt;::stack_index</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02114">ttmath::Parser&lt; ValueType &gt;::ReadOperator()</a>.</p>

</div>
</div>
<a id="a3d1c1c1ba9a2947925391623b8e28667"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d1c1c1ba9a2947925391623b8e28667">&#9670;&nbsp;</a></span>RollUPStack()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::RollUPStack </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method is trying to roll the stack up without testing any operators</p>
<p>for example if there are: "1 - 2" there'll be "-1" on our stack </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02316">2316</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02317"></a><span class="lineno"> 2317</span>&#160;{</div><div class="line"><a name="l02318"></a><span class="lineno"> 2318</span>&#160;    <span class="keywordflow">while</span>(  <a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a> &gt;= 3 &amp;&amp;</div><div class="line"><a name="l02319"></a><span class="lineno"> 2319</span>&#160;            (<a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-3].type == Item::numerical_value || <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-3].type == Item::variable) &amp;&amp;</div><div class="line"><a name="l02320"></a><span class="lineno"> 2320</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-2].type == Item::mat_operator &amp;&amp;</div><div class="line"><a name="l02321"></a><span class="lineno"> 2321</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-1].type == Item::numerical_value )</div><div class="line"><a name="l02322"></a><span class="lineno"> 2322</span>&#160;    {</div><div class="line"><a name="l02323"></a><span class="lineno"> 2323</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a85ed041b22886865ca08db963b680797">MakeStandardMathematicOperation</a>(    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-3],</div><div class="line"><a name="l02324"></a><span class="lineno"> 2324</span>&#160;                                            <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-2].moperator.GetType(),</div><div class="line"><a name="l02325"></a><span class="lineno"> 2325</span>&#160;                                            <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-1] );</div><div class="line"><a name="l02326"></a><span class="lineno"> 2326</span>&#160;</div><div class="line"><a name="l02327"></a><span class="lineno"> 2327</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a> -= 2;</div><div class="line"><a name="l02328"></a><span class="lineno"> 2328</span>&#160;    }</div><div class="line"><a name="l02329"></a><span class="lineno"> 2329</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a72a419bd6ac1f3fb7093fff3372e5733"><div class="ttname"><a href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">ttmath::Parser::stack</a></div><div class="ttdeci">std::vector&lt; Item &gt; stack</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00318">ttmathparser.h:318</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ab0838f95cf21b1a36c1a7b564536f57e"><div class="ttname"><a href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">ttmath::Parser::stack_index</a></div><div class="ttdeci">unsigned int stack_index</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00338">ttmathparser.h:338</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a85ed041b22886865ca08db963b680797"><div class="ttname"><a href="classttmath_1_1_parser.html#a85ed041b22886865ca08db963b680797">ttmath::Parser::MakeStandardMathematicOperation</a></div><div class="ttdeci">virtual void MakeStandardMathematicOperation(Item &amp;item1, typename MatOperator::Type mat_operator, const Item &amp;item2)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02182">ttmathparser.h:2182</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l02182">ttmath::Parser&lt; ValueType &gt;::MakeStandardMathematicOperation()</a>, <a class="el" href="ttmathparser_8h_source.html#l00318">ttmath::Parser&lt; ValueType &gt;::stack</a>, and <a class="el" href="ttmathparser_8h_source.html#l00338">ttmath::Parser&lt; ValueType &gt;::stack_index</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02472">ttmath::Parser&lt; ValueType &gt;::Parse()</a>, <a class="el" href="ttmathparser_8h_source.html#l02114">ttmath::Parser&lt; ValueType &gt;::ReadOperator()</a>, and <a class="el" href="ttmathparser_8h_source.html#l02376">ttmath::Parser&lt; ValueType &gt;::RollingUpFinalBracket()</a>.</p>

</div>
</div>
<a id="ad2fa94d01e5ff215c7de9fd3568c4687"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2fa94d01e5ff215c7de9fd3568c4687">&#9670;&nbsp;</a></span>RollUpStackWithOperatorsPriority()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::RollUpStackWithOperatorsPriority </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method is trying to roll the stack up with the operator's priority</p>
<p>for example if there are: "1 - 2 +" we can subtract "1-2" and the result store on the place where is '1' and copy the last operator '+', that means there'll be '-1+' on our stack</p>
<p>but if there are: "1 - 2 *" we can't roll the stack up because the operator '*' has greater priority than '-' </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02275">2275</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02276"></a><span class="lineno"> 2276</span>&#160;{</div><div class="line"><a name="l02277"></a><span class="lineno"> 2277</span>&#160;    <span class="keywordflow">while</span>(  <a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>&gt;=4 &amp;&amp;</div><div class="line"><a name="l02278"></a><span class="lineno"> 2278</span>&#160;            (<a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-4].type == Item::numerical_value || <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-4].type == Item::variable) &amp;&amp;</div><div class="line"><a name="l02279"></a><span class="lineno"> 2279</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-3].type == Item::mat_operator    &amp;&amp;</div><div class="line"><a name="l02280"></a><span class="lineno"> 2280</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-2].type == Item::numerical_value &amp;&amp;</div><div class="line"><a name="l02281"></a><span class="lineno"> 2281</span>&#160;            <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-1].type == Item::mat_operator    &amp;&amp;</div><div class="line"><a name="l02282"></a><span class="lineno"> 2282</span>&#160;            (</div><div class="line"><a name="l02283"></a><span class="lineno"> 2283</span>&#160;                (</div><div class="line"><a name="l02284"></a><span class="lineno"> 2284</span>&#160;                    <span class="comment">// the first operator has greater priority</span></div><div class="line"><a name="l02285"></a><span class="lineno"> 2285</span>&#160;                    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-3].moperator.GetPriority() &gt; <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-1].moperator.GetPriority()</div><div class="line"><a name="l02286"></a><span class="lineno"> 2286</span>&#160;                ) ||</div><div class="line"><a name="l02287"></a><span class="lineno"> 2287</span>&#160;                (</div><div class="line"><a name="l02288"></a><span class="lineno"> 2288</span>&#160;                    <span class="comment">// or both operators have the same priority and the first operator is not right associative</span></div><div class="line"><a name="l02289"></a><span class="lineno"> 2289</span>&#160;                    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-3].moperator.GetPriority() == <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-1].moperator.GetPriority() &amp;&amp;</div><div class="line"><a name="l02290"></a><span class="lineno"> 2290</span>&#160;                    <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-3].moperator.GetAssoc()    == MatOperator::non_right</div><div class="line"><a name="l02291"></a><span class="lineno"> 2291</span>&#160;                )</div><div class="line"><a name="l02292"></a><span class="lineno"> 2292</span>&#160;            )</div><div class="line"><a name="l02293"></a><span class="lineno"> 2293</span>&#160;         )</div><div class="line"><a name="l02294"></a><span class="lineno"> 2294</span>&#160;    {</div><div class="line"><a name="l02295"></a><span class="lineno"> 2295</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a85ed041b22886865ca08db963b680797">MakeStandardMathematicOperation</a>(<a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-4],</div><div class="line"><a name="l02296"></a><span class="lineno"> 2296</span>&#160;                                        <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-3].moperator.GetType(),</div><div class="line"><a name="l02297"></a><span class="lineno"> 2297</span>&#160;                                        <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-2]);</div><div class="line"><a name="l02298"></a><span class="lineno"> 2298</span>&#160;</div><div class="line"><a name="l02299"></a><span class="lineno"> 2299</span>&#160;</div><div class="line"><a name="l02300"></a><span class="lineno"> 2300</span>&#160;        <span class="comment">/*</span></div><div class="line"><a name="l02301"></a><span class="lineno"> 2301</span>&#160;<span class="comment">            copying the last operator and setting the stack pointer to the correct value</span></div><div class="line"><a name="l02302"></a><span class="lineno"> 2302</span>&#160;<span class="comment">        */</span></div><div class="line"><a name="l02303"></a><span class="lineno"> 2303</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-3] = <a class="code" href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">stack</a>[<a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a>-1];</div><div class="line"><a name="l02304"></a><span class="lineno"> 2304</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">stack_index</a> -= 2;</div><div class="line"><a name="l02305"></a><span class="lineno"> 2305</span>&#160;    }</div><div class="line"><a name="l02306"></a><span class="lineno"> 2306</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a72a419bd6ac1f3fb7093fff3372e5733"><div class="ttname"><a href="classttmath_1_1_parser.html#a72a419bd6ac1f3fb7093fff3372e5733">ttmath::Parser::stack</a></div><div class="ttdeci">std::vector&lt; Item &gt; stack</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00318">ttmathparser.h:318</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_ab0838f95cf21b1a36c1a7b564536f57e"><div class="ttname"><a href="classttmath_1_1_parser.html#ab0838f95cf21b1a36c1a7b564536f57e">ttmath::Parser::stack_index</a></div><div class="ttdeci">unsigned int stack_index</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00338">ttmathparser.h:338</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a85ed041b22886865ca08db963b680797"><div class="ttname"><a href="classttmath_1_1_parser.html#a85ed041b22886865ca08db963b680797">ttmath::Parser::MakeStandardMathematicOperation</a></div><div class="ttdeci">virtual void MakeStandardMathematicOperation(Item &amp;item1, typename MatOperator::Type mat_operator, const Item &amp;item2)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l02182">ttmathparser.h:2182</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l02182">ttmath::Parser&lt; ValueType &gt;::MakeStandardMathematicOperation()</a>, <a class="el" href="ttmathparser_8h_source.html#l00318">ttmath::Parser&lt; ValueType &gt;::stack</a>, and <a class="el" href="ttmathparser_8h_source.html#l00338">ttmath::Parser&lt; ValueType &gt;::stack_index</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02472">ttmath::Parser&lt; ValueType &gt;::Parse()</a>.</p>

</div>
</div>
<a id="aba9ee1d902517d9974c0f55785bc3929"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba9ee1d902517d9974c0f55785bc3929">&#9670;&nbsp;</a></span>SetBase()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::SetBase </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>b</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>the new base of mathematic system default is 10 </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02598">2598</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02599"></a><span class="lineno"> 2599</span>&#160;{</div><div class="line"><a name="l02600"></a><span class="lineno"> 2600</span>&#160;    <span class="keywordflow">if</span>( b&gt;=2 &amp;&amp; b&lt;=16 )</div><div class="line"><a name="l02601"></a><span class="lineno"> 2601</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#ac6f8c51fe4be9827470e4d5106709919">base</a> = b;</div><div class="line"><a name="l02602"></a><span class="lineno"> 2602</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_ac6f8c51fe4be9827470e4d5106709919"><div class="ttname"><a href="classttmath_1_1_parser.html#ac6f8c51fe4be9827470e4d5106709919">ttmath::Parser::base</a></div><div class="ttdeci">int base</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00357">ttmathparser.h:357</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00357">ttmath::Parser&lt; ValueType &gt;::base</a>.</p>

</div>
</div>
<a id="a71fbad48471e26bd2d835c9b545a269b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71fbad48471e26bd2d835c9b545a269b">&#9670;&nbsp;</a></span>SetComma()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::SetComma </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c2</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>setting the main comma operator and the additional comma operator the additional operator can be zero (which means it is not used) default are: '.' and ',' </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02666">2666</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02667"></a><span class="lineno"> 2667</span>&#160;{</div><div class="line"><a name="l02668"></a><span class="lineno"> 2668</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a8c57cceddcb884aa0aaa2db745470e9d">comma</a>  = c;</div><div class="line"><a name="l02669"></a><span class="lineno"> 2669</span>&#160;    comma2 = c2;</div><div class="line"><a name="l02670"></a><span class="lineno"> 2670</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a8c57cceddcb884aa0aaa2db745470e9d"><div class="ttname"><a href="classttmath_1_1_parser.html#a8c57cceddcb884aa0aaa2db745470e9d">ttmath::Parser::comma</a></div><div class="ttdeci">int comma</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00486">ttmathparser.h:486</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00486">ttmath::Parser&lt; ValueType &gt;::comma</a>.</p>

</div>
</div>
<a id="a53128532fda584cabf49f0a284f2d571"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53128532fda584cabf49f0a284f2d571">&#9670;&nbsp;</a></span>SetDegRadGrad()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::SetDegRadGrad </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>angle</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>the unit of angles used in: sin,cos,tan,cot,asin,acos,atan,acot 0 - deg 1 - rad (default) 2 - grad </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02611">2611</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02612"></a><span class="lineno"> 2612</span>&#160;{</div><div class="line"><a name="l02613"></a><span class="lineno"> 2613</span>&#160;    <span class="keywordflow">if</span>( angle &gt;= 0 &amp;&amp; angle &lt;= 2 )</div><div class="line"><a name="l02614"></a><span class="lineno"> 2614</span>&#160;        <a class="code" href="classttmath_1_1_parser.html#aa6f18a437d2f8045746afe94f1ab4463">deg_rad_grad</a> = angle;</div><div class="line"><a name="l02615"></a><span class="lineno"> 2615</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_aa6f18a437d2f8045746afe94f1ab4463"><div class="ttname"><a href="classttmath_1_1_parser.html#aa6f18a437d2f8045746afe94f1ab4463">ttmath::Parser::deg_rad_grad</a></div><div class="ttdeci">int deg_rad_grad</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00366">ttmathparser.h:366</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00366">ttmath::Parser&lt; ValueType &gt;::deg_rad_grad</a>.</p>

</div>
</div>
<a id="af215fd01d96a1a81ad1dd12af2367055"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af215fd01d96a1a81ad1dd12af2367055">&#9670;&nbsp;</a></span>SetFunctions()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::SetFunctions </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_objects.html">Objects</a> *&#160;</td>
          <td class="paramname"><em>pf</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method sets the new table of user-defined functions if you don't want any other functions just put zero value into the 'puser_functions' variable</p>
<p>(you can have only one table at the same time) </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02645">2645</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02646"></a><span class="lineno"> 2646</span>&#160;{</div><div class="line"><a name="l02647"></a><span class="lineno"> 2647</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#aec0b31b5c38bc5a1fe63eac79b546915">puser_functions</a> = pf;</div><div class="line"><a name="l02648"></a><span class="lineno"> 2648</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_aec0b31b5c38bc5a1fe63eac79b546915"><div class="ttname"><a href="classttmath_1_1_parser.html#aec0b31b5c38bc5a1fe63eac79b546915">ttmath::Parser::puser_functions</a></div><div class="ttdeci">const Objects * puser_functions</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00385">ttmathparser.h:385</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00385">ttmath::Parser&lt; ValueType &gt;::puser_functions</a>.</p>

</div>
</div>
<a id="af3db305d20ae05c3d3b711fc224da858"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3db305d20ae05c3d3b711fc224da858">&#9670;&nbsp;</a></span>SetGroup()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::SetGroup </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>setting the group character default zero (not used) </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02655">2655</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02656"></a><span class="lineno"> 2656</span>&#160;{</div><div class="line"><a name="l02657"></a><span class="lineno"> 2657</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#aa9cce071c7b302a768acbab99016d6e3">group</a> = g;</div><div class="line"><a name="l02658"></a><span class="lineno"> 2658</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_aa9cce071c7b302a768acbab99016d6e3"><div class="ttname"><a href="classttmath_1_1_parser.html#aa9cce071c7b302a768acbab99016d6e3">ttmath::Parser::group</a></div><div class="ttdeci">int group</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00478">ttmathparser.h:478</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00478">ttmath::Parser&lt; ValueType &gt;::group</a>.</p>

</div>
</div>
<a id="ad97eab5c0e9ca57ff70727e7f8b69647"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad97eab5c0e9ca57ff70727e7f8b69647">&#9670;&nbsp;</a></span>SetParamSep()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::SetParamSep </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>setting an additional character which is used as a parameters separator the main parameters separator is a semicolon (is used always)</p>
<p>this character is used also as a global separator </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02679">2679</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02680"></a><span class="lineno"> 2680</span>&#160;{</div><div class="line"><a name="l02681"></a><span class="lineno"> 2681</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a09545024c0b0a862429a54bf8a460d1c">param_sep</a> = s;</div><div class="line"><a name="l02682"></a><span class="lineno"> 2682</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a09545024c0b0a862429a54bf8a460d1c"><div class="ttname"><a href="classttmath_1_1_parser.html#a09545024c0b0a862429a54bf8a460d1c">ttmath::Parser::param_sep</a></div><div class="ttdeci">int param_sep</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00493">ttmathparser.h:493</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00493">ttmath::Parser&lt; ValueType &gt;::param_sep</a>.</p>

</div>
</div>
<a id="a4668dac6d38b408d049e9f49376eca4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4668dac6d38b408d049e9f49376eca4f">&#9670;&nbsp;</a></span>SetStopObject()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::SetStopObject </td>
          <td>(</td>
          <td class="paramtype">const volatile <a class="el" href="classttmath_1_1_stop_calculating.html">StopCalculating</a> *&#160;</td>
          <td class="paramname"><em>ps</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method sets a pointer to the object which tell us whether we should stop calculations </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02621">2621</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02622"></a><span class="lineno"> 2622</span>&#160;{</div><div class="line"><a name="l02623"></a><span class="lineno"> 2623</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#af29080fbcf2ab0de3122c8ba0d8f9f4e">pstop_calculating</a> = ps;</div><div class="line"><a name="l02624"></a><span class="lineno"> 2624</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_af29080fbcf2ab0de3122c8ba0d8f9f4e"><div class="ttname"><a href="classttmath_1_1_parser.html#af29080fbcf2ab0de3122c8ba0d8f9f4e">ttmath::Parser::pstop_calculating</a></div><div class="ttdeci">const volatile StopCalculating * pstop_calculating</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00373">ttmathparser.h:373</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00373">ttmath::Parser&lt; ValueType &gt;::pstop_calculating</a>.</p>

</div>
</div>
<a id="a158903294c885f20e296b253cf34f92d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a158903294c885f20e296b253cf34f92d">&#9670;&nbsp;</a></span>SetVariables()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::SetVariables </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_objects.html">Objects</a> *&#160;</td>
          <td class="paramname"><em>pv</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method sets the new table of user-defined variables if you don't want any other variables just put zero value into the 'puser_variables' variable</p>
<p>(you can have only one table at the same time) </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l02633">2633</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02634"></a><span class="lineno"> 2634</span>&#160;{</div><div class="line"><a name="l02635"></a><span class="lineno"> 2635</span>&#160;    <a class="code" href="classttmath_1_1_parser.html#a2e259715db51746ab1b9f8a4d681a77f">puser_variables</a> = pv;</div><div class="line"><a name="l02636"></a><span class="lineno"> 2636</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a2e259715db51746ab1b9f8a4d681a77f"><div class="ttname"><a href="classttmath_1_1_parser.html#a2e259715db51746ab1b9f8a4d681a77f">ttmath::Parser::puser_variables</a></div><div class="ttdeci">const Objects * puser_variables</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00380">ttmathparser.h:380</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00380">ttmath::Parser&lt; ValueType &gt;::puser_variables</a>.</p>

</div>
</div>
<a id="a18dfe2aa287cea893532f9b0fd9c6f82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18dfe2aa287cea893532f9b0fd9c6f82">&#9670;&nbsp;</a></span>SkipWhiteCharacters()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::SkipWhiteCharacters </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method skips the white character from the string</p>
<p>it's moving the 'pstring' to the first no-white character </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00517">517</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;{</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;    <span class="keywordflow">while</span>( (*<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>==<span class="charliteral">&#39; &#39;</span> ) || (*<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>==<span class="charliteral">&#39;\t&#39;</span>) )</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;        ++<a class="code" href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">pstring</a>;</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;}</div><div class="ttc" id="classttmath_1_1_parser_html_a1a1cefe27be9fd9890edc90409fe5587"><div class="ttname"><a href="classttmath_1_1_parser.html#a1a1cefe27be9fd9890edc90409fe5587">ttmath::Parser::pstring</a></div><div class="ttdeci">const char * pstring</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00351">ttmathparser.h:351</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathparser_8h_source.html#l00351">ttmath::Parser&lt; ValueType &gt;::pstring</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02158">ttmath::Parser&lt; ValueType &gt;::ReadOperators()</a>, <a class="el" href="ttmathparser_8h_source.html#l01983">ttmath::Parser&lt; ValueType &gt;::ReadTokens()</a>, and <a class="el" href="ttmathparser_8h_source.html#l01778">ttmath::Parser&lt; ValueType &gt;::ReadVariableOrFunction()</a>.</p>

</div>
</div>
<a id="ac424ce08b262ccdeba19a842b448bd31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac424ce08b262ccdeba19a842b448bd31">&#9670;&nbsp;</a></span>Sprintf()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::Sprintf </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>par</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>we use such a method because 'wvsprintf' is not everywhere defined </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l01516">1516</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;{</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160;<span class="keywordtype">char</span> buf[30]; <span class="comment">// char, not wchar_t</span></div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160;<span class="keywordtype">int</span> i;</div><div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160;</div><div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160;<span class="preprocessor">    #ifdef _MSC_VER</span></div><div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160;<span class="preprocessor">    #pragma warning( disable: 4996 )</span></div><div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160;    <span class="comment">//warning C4996: &#39;sprintf&#39;: This function or variable may be unsafe.</span></div><div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160;<span class="preprocessor">    #endif</span></div><div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160;</div><div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160;    sprintf(buf, <span class="stringliteral">&quot;%d&quot;</span>, par);</div><div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160;    <span class="keywordflow">for</span>(i=0 ; buf[i] != 0 ; ++i)</div><div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160;        buffer[i] = buf[i];</div><div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160;</div><div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160;    buffer[i] = 0;</div><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;</div><div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160;<span class="preprocessor">    #ifdef _MSC_VER</span></div><div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160;<span class="preprocessor">    #pragma warning( default: 4996 )</span></div><div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160;<span class="preprocessor">    #endif</span></div><div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160;}</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l01545">ttmath::Parser&lt; ValueType &gt;::GetValueOfUserDefinedFunction()</a>.</p>

</div>
</div>
<a id="a798ba12ed762d8338b97c966cfd3b456"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a798ba12ed762d8338b97c966cfd3b456">&#9670;&nbsp;</a></span>ToLowerCase()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::ToLowerCase </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>converting from a big letter to a small one </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l01733">1733</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160;{</div><div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160;    <span class="keywordflow">if</span>( c&gt;=<span class="charliteral">&#39;A&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;Z&#39;</span> )</div><div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160;        <span class="keywordflow">return</span> c - <span class="charliteral">&#39;A&#39;</span> + <span class="charliteral">&#39;a&#39;</span>;</div><div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160;</div><div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160;<span class="keywordflow">return</span> c;</div><div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="ac5042e1140fdc2d051312fdbf1fdfae2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5042e1140fdc2d051312fdbf1fdfae2">&#9670;&nbsp;</a></span>ValueStarts()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::ValueStarts </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>character</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>character_base</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method returns true if 'character' is a proper first digit for the value (or a comma &ndash; can be first too) </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l01872">1872</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160;{</div><div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160;    <span class="keywordflow">if</span>( character == <a class="code" href="classttmath_1_1_parser.html#a8c57cceddcb884aa0aaa2db745470e9d">comma</a> )</div><div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160;</div><div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160;    <span class="keywordflow">if</span>( comma2!=0 &amp;&amp; character==comma2 )</div><div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>&#160;</div><div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_misc.html#a37c769adf7e2cb8a7533d04dea080ebf">Misc::CharToDigit</a>(character, character_base) != -1 )</div><div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160;</div><div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160;<span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>&#160;}</div><div class="ttc" id="classttmath_1_1_misc_html_a37c769adf7e2cb8a7533d04dea080ebf"><div class="ttname"><a href="classttmath_1_1_misc.html#a37c769adf7e2cb8a7533d04dea080ebf">ttmath::Misc::CharToDigit</a></div><div class="ttdeci">static uint CharToDigit(uint c)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathmisc_8h_source.html#l00181">ttmathmisc.h:181</a></div></div>
<div class="ttc" id="classttmath_1_1_parser_html_a8c57cceddcb884aa0aaa2db745470e9d"><div class="ttname"><a href="classttmath_1_1_parser.html#a8c57cceddcb884aa0aaa2db745470e9d">ttmath::Parser::comma</a></div><div class="ttdeci">int comma</div><div class="ttdef"><b>Definition:</b> <a href="ttmathparser_8h_source.html#l00486">ttmathparser.h:486</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="ttmathmisc_8h_source.html#l00181">ttmath::Misc::CharToDigit()</a>, and <a class="el" href="ttmathparser_8h_source.html#l00486">ttmath::Parser&lt; ValueType &gt;::comma</a>.</p>

</div>
</div>
<h2 class="groupheader">Field Documentation</h2>
<a id="ac6f8c51fe4be9827470e4d5106709919"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6f8c51fe4be9827470e4d5106709919">&#9670;&nbsp;</a></span>base</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::base</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the base (radix) of the mathematic system (for example it may be '10') </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00357">357</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02547">ttmath::Parser&lt; ValueType &gt;::operator=()</a>, <a class="el" href="ttmathparser_8h_source.html#l02524">ttmath::Parser&lt; ValueType &gt;::Parser()</a>, and <a class="el" href="ttmathparser_8h_source.html#l02598">ttmath::Parser&lt; ValueType &gt;::SetBase()</a>.</p>

</div>
</div>
<a id="a8653b6bcfb38df599ae12072c6766f67"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8653b6bcfb38df599ae12072c6766f67">&#9670;&nbsp;</a></span>calculated</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::calculated</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>true if something was calculated (at least one mathematical operator was used or a function or a variable) </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00499">499</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02757">ttmath::Parser&lt; ValueType &gt;::Calculated()</a>, <a class="el" href="ttmathparser_8h_source.html#l01545">ttmath::Parser&lt; ValueType &gt;::GetValueOfUserDefinedFunction()</a>, <a class="el" href="ttmathparser_8h_source.html#l00696">ttmath::Parser&lt; ValueType &gt;::GetValueOfUserDefinedVariable()</a>, <a class="el" href="ttmathparser_8h_source.html#l00738">ttmath::Parser&lt; ValueType &gt;::GetValueOfVariable()</a>, <a class="el" href="ttmathparser_8h_source.html#l02182">ttmath::Parser&lt; ValueType &gt;::MakeStandardMathematicOperation()</a>, and <a class="el" href="ttmathparser_8h_source.html#l02688">ttmath::Parser&lt; ValueType &gt;::Parse()</a>.</p>

</div>
</div>
<a id="aa001fd6c5f232340b525edfd60b300a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa001fd6c5f232340b525edfd60b300a1">&#9670;&nbsp;</a></span>cgamma</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structttmath_1_1_c_gamma.html">CGamma</a>&lt;ValueType&gt; <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::cgamma</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>some coefficients used when calculating the gamma (or factorial) function </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00465">465</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l00838">ttmath::Parser&lt; ValueType &gt;::Factorial()</a>, and <a class="el" href="ttmathparser_8h_source.html#l02769">ttmath::Parser&lt; ValueType &gt;::InitCGamma()</a>.</p>

</div>
</div>
<a id="a8c57cceddcb884aa0aaa2db745470e9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c57cceddcb884aa0aaa2db745470e9d">&#9670;&nbsp;</a></span>comma</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::comma</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>characters used as a comma default: '.' and ',' comma2 can be zero (it means it is not used) </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00486">486</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02547">ttmath::Parser&lt; ValueType &gt;::operator=()</a>, <a class="el" href="ttmathparser_8h_source.html#l02524">ttmath::Parser&lt; ValueType &gt;::Parser()</a>, <a class="el" href="ttmathparser_8h_source.html#l01839">ttmath::Parser&lt; ValueType &gt;::ReadValue()</a>, <a class="el" href="ttmathparser_8h_source.html#l02666">ttmath::Parser&lt; ValueType &gt;::SetComma()</a>, and <a class="el" href="ttmathparser_8h_source.html#l01872">ttmath::Parser&lt; ValueType &gt;::ValueStarts()</a>.</p>

</div>
</div>
<a id="a96797a7951ba063108cf37cdab6d3970"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96797a7951ba063108cf37cdab6d3970">&#9670;&nbsp;</a></span>default_stack_size</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const int <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::default_stack_size</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>size of the stack when we're starting parsing of the string</p>
<p>if it's to small while parsing the stack will be automatically resized </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00329">329</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02688">ttmath::Parser&lt; ValueType &gt;::Parse()</a>.</p>

</div>
</div>
<a id="aa6f18a437d2f8045746afe94f1ab4463"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6f18a437d2f8045746afe94f1ab4463">&#9670;&nbsp;</a></span>deg_rad_grad</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::deg_rad_grad</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the unit of angles used in: sin,cos,tan,cot,asin,acos,atan,acot 0 - deg 1 - rad (default) 2 - grad </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00366">366</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l00777">ttmath::Parser&lt; ValueType &gt;::ConvertAngleToRad()</a>, <a class="el" href="ttmathparser_8h_source.html#l00800">ttmath::Parser&lt; ValueType &gt;::ConvertRadToAngle()</a>, <a class="el" href="ttmathparser_8h_source.html#l02547">ttmath::Parser&lt; ValueType &gt;::operator=()</a>, <a class="el" href="ttmathparser_8h_source.html#l02524">ttmath::Parser&lt; ValueType &gt;::Parser()</a>, and <a class="el" href="ttmathparser_8h_source.html#l02611">ttmath::Parser&lt; ValueType &gt;::SetDegRadGrad()</a>.</p>

</div>
</div>
<a id="a49910610d53c11e2113bb55fb59f53ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49910610d53c11e2113bb55fb59f53ab">&#9670;&nbsp;</a></span>error</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#af99599ccaf4dc05cc3a74277f9579942">ErrorCode</a> <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::error</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>code of the last error </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00344">344</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02501">ttmath::Parser&lt; ValueType &gt;::NormalizeStack()</a>, <a class="el" href="ttmathparser_8h_source.html#l02547">ttmath::Parser&lt; ValueType &gt;::operator=()</a>, <a class="el" href="ttmathparser_8h_source.html#l02688">ttmath::Parser&lt; ValueType &gt;::Parse()</a>, and <a class="el" href="ttmathparser_8h_source.html#l02524">ttmath::Parser&lt; ValueType &gt;::Parser()</a>.</p>

</div>
</div>
<a id="aa9cce071c7b302a768acbab99016d6e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9cce071c7b302a768acbab99016d6e3">&#9670;&nbsp;</a></span>group</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::group</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>group character (used when parsing) default zero (not used) </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00478">478</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02547">ttmath::Parser&lt; ValueType &gt;::operator=()</a>, <a class="el" href="ttmathparser_8h_source.html#l02524">ttmath::Parser&lt; ValueType &gt;::Parser()</a>, <a class="el" href="ttmathparser_8h_source.html#l01839">ttmath::Parser&lt; ValueType &gt;::ReadValue()</a>, and <a class="el" href="ttmathparser_8h_source.html#l02655">ttmath::Parser&lt; ValueType &gt;::SetGroup()</a>.</p>

</div>
</div>
<a id="a09545024c0b0a862429a54bf8a460d1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09545024c0b0a862429a54bf8a460d1c">&#9670;&nbsp;</a></span>param_sep</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::param_sep</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>an additional character used as a separator between function parameters (semicolon is used always) </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00493">493</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02547">ttmath::Parser&lt; ValueType &gt;::operator=()</a>, <a class="el" href="ttmathparser_8h_source.html#l02524">ttmath::Parser&lt; ValueType &gt;::Parser()</a>, <a class="el" href="ttmathparser_8h_source.html#l02114">ttmath::Parser&lt; ValueType &gt;::ReadOperator()</a>, and <a class="el" href="ttmathparser_8h_source.html#l02679">ttmath::Parser&lt; ValueType &gt;::SetParamSep()</a>.</p>

</div>
</div>
<a id="ab24aedab3532054ce9375d1f9bd3acf2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab24aedab3532054ce9375d1f9bd3acf2">&#9670;&nbsp;</a></span>pfunction_local_variables</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const FunctionLocalVariables* <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::pfunction_local_variables</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>a pointer to the local variables of a function </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00393">393</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l00716">ttmath::Parser&lt; ValueType &gt;::GetValueOfFunctionLocalVariable()</a>, <a class="el" href="ttmathparser_8h_source.html#l02547">ttmath::Parser&lt; ValueType &gt;::operator=()</a>, <a class="el" href="ttmathparser_8h_source.html#l02524">ttmath::Parser&lt; ValueType &gt;::Parser()</a>, and <a class="el" href="ttmathparser_8h_source.html#l00652">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction()</a>.</p>

</div>
</div>
<a id="af29080fbcf2ab0de3122c8ba0d8f9f4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af29080fbcf2ab0de3122c8ba0d8f9f4e">&#9670;&nbsp;</a></span>pstop_calculating</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const volatile <a class="el" href="classttmath_1_1_stop_calculating.html">StopCalculating</a>* <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::pstop_calculating</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>a pointer to an object which tell us whether we should stop calculating or not </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00373">373</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l00838">ttmath::Parser&lt; ValueType &gt;::Factorial()</a>, <a class="el" href="ttmathparser_8h_source.html#l02547">ttmath::Parser&lt; ValueType &gt;::operator=()</a>, <a class="el" href="ttmathparser_8h_source.html#l02472">ttmath::Parser&lt; ValueType &gt;::Parse()</a>, <a class="el" href="ttmathparser_8h_source.html#l02524">ttmath::Parser&lt; ValueType &gt;::Parser()</a>, and <a class="el" href="ttmathparser_8h_source.html#l02621">ttmath::Parser&lt; ValueType &gt;::SetStopObject()</a>.</p>

</div>
</div>
<a id="a1a1cefe27be9fd9890edc90409fe5587"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a1cefe27be9fd9890edc90409fe5587">&#9670;&nbsp;</a></span>pstring</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::pstring</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>pointer to the currently reading char when an error has occured it may be used to count the index of the wrong character </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00351">351</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02472">ttmath::Parser&lt; ValueType &gt;::Parse()</a>, <a class="el" href="ttmathparser_8h_source.html#l02049">ttmath::Parser&lt; ValueType &gt;::ReadMathematicalOperator()</a>, <a class="el" href="ttmathparser_8h_source.html#l01760">ttmath::Parser&lt; ValueType &gt;::ReadName()</a>, <a class="el" href="ttmathparser_8h_source.html#l02114">ttmath::Parser&lt; ValueType &gt;::ReadOperator()</a>, <a class="el" href="ttmathparser_8h_source.html#l02158">ttmath::Parser&lt; ValueType &gt;::ReadOperators()</a>, <a class="el" href="ttmathparser_8h_source.html#l01983">ttmath::Parser&lt; ValueType &gt;::ReadTokens()</a>, <a class="el" href="ttmathparser_8h_source.html#l01839">ttmath::Parser&lt; ValueType &gt;::ReadValue()</a>, <a class="el" href="ttmathparser_8h_source.html#l01778">ttmath::Parser&lt; ValueType &gt;::ReadVariableOrFunction()</a>, and <a class="el" href="ttmathparser_8h_source.html#l00517">ttmath::Parser&lt; ValueType &gt;::SkipWhiteCharacters()</a>.</p>

</div>
</div>
<a id="aec0b31b5c38bc5a1fe63eac79b546915"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec0b31b5c38bc5a1fe63eac79b546915">&#9670;&nbsp;</a></span>puser_functions</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classttmath_1_1_objects.html">Objects</a>* <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::puser_functions</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>a pointer to the user-defined functions' table </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00385">385</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l01545">ttmath::Parser&lt; ValueType &gt;::GetValueOfUserDefinedFunction()</a>, <a class="el" href="ttmathparser_8h_source.html#l02547">ttmath::Parser&lt; ValueType &gt;::operator=()</a>, <a class="el" href="ttmathparser_8h_source.html#l02524">ttmath::Parser&lt; ValueType &gt;::Parser()</a>, and <a class="el" href="ttmathparser_8h_source.html#l02645">ttmath::Parser&lt; ValueType &gt;::SetFunctions()</a>.</p>

</div>
</div>
<a id="a2e259715db51746ab1b9f8a4d681a77f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e259715db51746ab1b9f8a4d681a77f">&#9670;&nbsp;</a></span>puser_variables</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classttmath_1_1_objects.html">Objects</a>* <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::puser_variables</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>a pointer to the user-defined variables' table </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00380">380</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l00696">ttmath::Parser&lt; ValueType &gt;::GetValueOfUserDefinedVariable()</a>, <a class="el" href="ttmathparser_8h_source.html#l02547">ttmath::Parser&lt; ValueType &gt;::operator=()</a>, <a class="el" href="ttmathparser_8h_source.html#l02524">ttmath::Parser&lt; ValueType &gt;::Parser()</a>, and <a class="el" href="ttmathparser_8h_source.html#l02633">ttmath::Parser&lt; ValueType &gt;::SetVariables()</a>.</p>

</div>
</div>
<a id="a72a419bd6ac1f3fb7093fff3372e5733"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72a419bd6ac1f3fb7093fff3372e5733">&#9670;&nbsp;</a></span>stack</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="structttmath_1_1_parser_1_1_item.html">Item</a>&gt; <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::stack</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>stack on which we're keeping the Items</p>
<p>at the end of parsing we'll have the result here the result don't have to be one value, it can be more than one if we have used a semicolon in the global space e.g. such input string "1+2;3+4" will generate a result: stack[0].value=3 stack[1].value=7</p>
<p>you should check if the stack is not empty, because if there was a syntax error in the input string then we do not have any results on the stack </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00318">318</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l00540">ttmath::Parser&lt; ValueType &gt;::AddToStack()</a>, <a class="el" href="ttmathparser_8h_source.html#l02451">ttmath::Parser&lt; ValueType &gt;::CheckStackIntegrity()</a>, <a class="el" href="ttmathparser_8h_source.html#l00528">ttmath::Parser&lt; ValueType &gt;::EnsurePlaceOnStack()</a>, <a class="el" href="ttmathparser_8h_source.html#l00838">ttmath::Parser&lt; ValueType &gt;::Factorial()</a>, <a class="el" href="ttmathparser_8h_source.html#l01545">ttmath::Parser&lt; ValueType &gt;::GetValueOfUserDefinedFunction()</a>, <a class="el" href="ttmathparser_8h_source.html#l02341">ttmath::Parser&lt; ValueType &gt;::HowManyParameters()</a>, <a class="el" href="ttmathparser_8h_source.html#l02501">ttmath::Parser&lt; ValueType &gt;::NormalizeStack()</a>, <a class="el" href="ttmathparser_8h_source.html#l02084">ttmath::Parser&lt; ValueType &gt;::OperatorPercentage()</a>, <a class="el" href="ttmathparser_8h_source.html#l02688">ttmath::Parser&lt; ValueType &gt;::Parse()</a>, <a class="el" href="ttmathparser_8h_source.html#l00652">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction()</a>, <a class="el" href="ttmathparser_8h_source.html#l02376">ttmath::Parser&lt; ValueType &gt;::RollingUpFinalBracket()</a>, <a class="el" href="ttmathparser_8h_source.html#l02316">ttmath::Parser&lt; ValueType &gt;::RollUPStack()</a>, and <a class="el" href="ttmathparser_8h_source.html#l02275">ttmath::Parser&lt; ValueType &gt;::RollUpStackWithOperatorsPriority()</a>.</p>

</div>
</div>
<a id="ab0838f95cf21b1a36c1a7b564536f57e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0838f95cf21b1a36c1a7b564536f57e">&#9670;&nbsp;</a></span>stack_index</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::stack_index</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>index of an object in our stack it's pointing on the place behind the last element for example at the beginning of parsing its value is zero </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00338">338</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l00540">ttmath::Parser&lt; ValueType &gt;::AddToStack()</a>, <a class="el" href="ttmathparser_8h_source.html#l02451">ttmath::Parser&lt; ValueType &gt;::CheckStackIntegrity()</a>, <a class="el" href="ttmathparser_8h_source.html#l00528">ttmath::Parser&lt; ValueType &gt;::EnsurePlaceOnStack()</a>, <a class="el" href="ttmathparser_8h_source.html#l02341">ttmath::Parser&lt; ValueType &gt;::HowManyParameters()</a>, <a class="el" href="ttmathparser_8h_source.html#l02501">ttmath::Parser&lt; ValueType &gt;::NormalizeStack()</a>, <a class="el" href="ttmathparser_8h_source.html#l02084">ttmath::Parser&lt; ValueType &gt;::OperatorPercentage()</a>, <a class="el" href="ttmathparser_8h_source.html#l02472">ttmath::Parser&lt; ValueType &gt;::Parse()</a>, <a class="el" href="ttmathparser_8h_source.html#l02376">ttmath::Parser&lt; ValueType &gt;::RollingUpFinalBracket()</a>, <a class="el" href="ttmathparser_8h_source.html#l02316">ttmath::Parser&lt; ValueType &gt;::RollUPStack()</a>, and <a class="el" href="ttmathparser_8h_source.html#l02275">ttmath::Parser&lt; ValueType &gt;::RollUpStackWithOperatorsPriority()</a>.</p>

</div>
</div>
<a id="a77a65a6e909069850b51d5ce42781e6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77a65a6e909069850b51d5ce42781e6e">&#9670;&nbsp;</a></span>visited_functions</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::set&lt;std::string&gt; <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::visited_functions</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>a temporary set using during parsing user defined functions </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00405">405</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02547">ttmath::Parser&lt; ValueType &gt;::operator=()</a>, <a class="el" href="ttmathparser_8h_source.html#l00621">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction_AddName()</a>, <a class="el" href="ttmathparser_8h_source.html#l00603">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction_CheckStopCondition()</a>, and <a class="el" href="ttmathparser_8h_source.html#l00633">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction_DeleteName()</a>.</p>

</div>
</div>
<a id="aab98ce9b1914a61ecb54e5ace8f7f7f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab98ce9b1914a61ecb54e5ace8f7f7f5">&#9670;&nbsp;</a></span>visited_variables</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::set&lt;std::string&gt; <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::visited_variables</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>a temporary set using during parsing user defined variables </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00399">399</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02547">ttmath::Parser&lt; ValueType &gt;::operator=()</a>, <a class="el" href="ttmathparser_8h_source.html#l00621">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction_AddName()</a>, <a class="el" href="ttmathparser_8h_source.html#l00603">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction_CheckStopCondition()</a>, and <a class="el" href="ttmathparser_8h_source.html#l00633">ttmath::Parser&lt; ValueType &gt;::RecurrenceParsingVariablesOrFunction_DeleteName()</a>.</p>

</div>
</div>
<a id="a00714e1d43b44bfa704446df504baec3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00714e1d43b44bfa704446df504baec3">&#9670;&nbsp;</a></span>wide_to_ansi</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ValueType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string <a class="el" href="classttmath_1_1_parser.html">ttmath::Parser</a>&lt; ValueType &gt;::wide_to_ansi</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>temporary object for a whole string when Parse(std::wstring) is used </p>

<p class="definition">Definition at line <a class="el" href="ttmathparser_8h_source.html#l00471">471</a> of file <a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathparser_8h_source.html#l02726">ttmath::Parser&lt; ValueType &gt;::Parse()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="ttmathparser_8h_source.html">ttmathparser.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>
